繁体   English   中英

jQuery验证errorPlacement / submitHandler

[英]Jquery Validation errorPlacement / submitHandler

如何编写我的js,以便将来自jquery验证插件的响应放置在表单字段框中?

html表单如下所示:

<form class="cmxform" id="commentForm" method="POST" action="">
<p>
 <label for="cname">Name</label>
 <input id="cname" type="text" name="name" size="60" class="required" minlength="2" />
</p>
<p>
 <label for="cemail">E-Mail</label>
 <input id="cemail" type="text" name="email" size="60"  class="required email" />
</p>
<p>
 <label for="curl">URL</label>
 <input id="curl" type="text" name="url" size="60"  class="url" value="" />
</p>
<p>
 <label for="ccomment">Your comment</label>
 <textarea id="ccomment" type="text" name="comment" cols="72" rows="8"  class="required"></textarea>
</p>
<p>
 <div id="button2"><input class="submit" id="submit_btn" type="submit" value="Send Email"/></div>
</p>
</form>

js当前看起来像这样:

<script>
$(document).ready(function() {
    $('#commentForm').validate({
        submitHandler: function(form) {
            $.ajax({
                type: 'POST',
                url: 'process.php',
                data: $(this).serialize(),
                success: function(returnedData) {
                    $('#commentForm').append(returnedData);
                }
            });         
            return false;
        }
    });
});
</script>

什么是将errorPlacement放入表单字段的输入值中的正确js? 这样,如果某人未包括其电子邮件,则“输入此字段”的响应将出现在电子邮件的输入值内。 当前,它在输入后返回。 谢谢。

验证提供了errorPlacement选项,该功能正是为此目的而设计的。

我使用jQuery UI的position实用工具为您快速编写了此书(因此,您必须包括jQuery UI才能使我的版本正常工作):

  //in your $.validate options, add this
  errorPlacement: function(error, element) {
      error.insertAfter( element).position({
          my:'right top',
          at:'right top',
          of:element          
      });
   }  

注意我也定义了这个CSS:

label.error { color: red; position:absolute; }​

在此处查看其运行情况: http : //jsfiddle.net/ryleyb/Z64Tv/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM