2015-09-16 60 views
1

我有两种形式没有ID,我可以有更多,当我尝试验证与JQuery验证插件它是成功的但消息总是放置在第一种形式。jQuery使用倍数形式验证

<form class="myform" action="http://www.google.com"> 
    <input type="text" name="mytext"/> 
    <button class="mybutton">Send</button> 
</form> 
<form class="myform" action="http://www.google.com"> 
    <input type="text" name="mytext"/> 
    <button class="mybutton">Send</button> 
</form> 

jQuery的验证是

<script> 
     $(function() { 
      $('.myform').validate({ 
       rules: { 
        mytext: 'required' 
       }, 
       messages: { 
        mytext: 'Required field' 
       } 
      }); 
      $('.mybutton').click(function() { 
       var form = $(this).closest('.myform'); 
       console.log("Action form is: " + form.attr('action')); 
       form.valid(); 
      }); 
     }); 
    </script> 

当我按下按钮,我知道验证是成功的,因为输出Action form is: http://stackoverflow.com当我按下第一个按钮,并Action form is: http://www.google.com当我按下第二个按钮。

是否有任何方法将错误放在正确的形式?

Example in JSFiddle

+0

您不能添加独特的形式的东西吗? – mituw16

+0

是的,我可以但我必须尝试只使用类选择器,因为我的客户端不需要很多更改。我认为问题出现在JQueryValidation插件中,当它在表单中搜索输入时。 – rvillablanca

回答

1

您可以使用.each()循环:

$('.myform').each(function(){ 
    $(this).validate({ 
     rules: { 
      mytext: 'required' 
     }, 
     messages: { 
      mytext: 'Required field' 
     } 
    }); 
}); 

JSFiddle