当前位置: 澳门新濠3559 > 服务器运维 > 正文

dom对像的提交form.submit(),我并没有添加错误信息

时间:2019-12-08 19:30来源:服务器运维
本文实例讲述了jquery.validate提示错误信息位置方法。分享给大家供大家参考,具体如下: 好长时间没有用jquery.validate.js这个插件了,忘得差不多了。唉,好东西还是要经常拿出来看看的

本文实例讲述了jquery.validate提示错误信息位置方法。分享给大家供大家参考,具体如下:

好长时间没有用jquery.validate.js这个插件了,忘得差不多了。唉,好东西还是要经常拿出来看看的,今天用jquery.validate来做一个小东西,遇到一个问题,就是错误提示信息的位置问题,如果知道的话,很简单。以前遇到过,可是忘了,现在标记一下,将来在忘了,在回过头看看。俗话说的好,好记性不如烂笔头。

jQuery validate插件submitHandler提交导致死循环解决方法,jqueryvalidate提交

本文实例讲述了jQuery validate插件submitHandler提交导致死循环解决方法。分享给大家供大家参考,具体如下:

dom对像的提交form.submit();和jquery对像的提交$('').submit();功能上是没有什么区别的。但是如果用了jquery validate插件,提交时这二个就区别大了。$('').submit();提交时,jquery validate会进行验证,submitHandler里面如果写了$('').submit();会导致死循环,而form.submit();则不会。

这个问题是个小问题,如果不注意,或者写习惯了,容易出错;并且出错时,很难查找。我花了近二个小时,才找到原因。

一、简单说一下dom对像和jquery对像

dom对像,你要用js的写法来操作,页面中的标签。而jquery对像呢,你要用jquery的语法来操作。

dom对像转换成jquery的对像呢,也很简单,就加上$()这个就行了,然后就可以用jquery的语法来操作,页面中的标签了。我想大家用的最多就是this了。看一下例子。

$('input[name^="hour"]').each(function(index){
  this.value=index; //this是dom对像,js写法
});
$('input[name^="hour"]').each(function(index){
  $(this).val(index); //$(this)是jquery对像,jquery写法
});

二、jquery validate 死循环程序

$("#product_form").validate({
  focusInvalid:false,
  submitHandler: function(form){
    $('.submit').submit();
  }
});

正确写法,

$("#product_form").validate({
  focusInvalid:false,
  submitHandler: function(form){
    form.submit();
  }
});

出现死循环的时候,浏览器会一直处于加载中,直到浏览器挂掉,这个时候,可以加一个alert,你就会知道,validate一直在循环验证。个人觉得,虽然是个小问题,但是很难想起来。

更多关于jQuery插件相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

好长时间没有用jquery.validate.js这个插件了,忘得差不多了。唉,好东西还是要经常拿出来看看的,今天用jquery.validate来做一个小东西,遇到一个问题,就是错误提示信息的位置问题,如果知道的话,很简单。以前遇到过,可是忘了,现在标记一下,将来在忘了,在回过头看看。俗话说的好,好记性不如烂笔头。

 

您可能感兴趣的文章:

  • jQuery validate插件实现ajax验证重复的2种方法
  • 深入学习jQuery Validate表单验证(二)
  • 深入学习jQuery Validate表单验证
  • jquery validate表单验证的基本用法入门
  • jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
  • jquery.validate 自定义验证方法及validate相关参数
  • jQuery插件Validate实现自定义校验结果样式
  • jQuery Validate表单验证深入学习
  • 快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
  • jQuery插件EasyUI校验规则 validatebox验证框
  • jquery.validate提示错误信息位置方法

validate插件submitHandler提交导致死循环解决方法,jqueryvalidate提交 本文实例讲述了jQuery validate插件submitHandler提交导致死循环解决方法。...

举个例子,大家就知道怎么回事了。

举个例子,大家就知道怎么回事了。

rules: {name:{required:true,rangelength:[1,20]},validateCode: {required:true,number:true,rangelength:[5,5]}},messages: {name: {required: "请输入命令名",rangelength: jQuery.format},validateCode: {required: "请输入验证码",number: "请输入数字",rangelength: jQuery.format}},success: function {label.addClass;},submitHandler: function {if == '0'){$.attr.html;$.attr;}else{$.attr;$.attr.html;form.submit;

查看复制打印?

在上面的代码中,我并没有添加错误信息存放位置的方法,我们看一下效果

  1. rules: { 
  2. name:{ 
  3. required:true, 
  4. rangelength:[1,20] 
  5. }, 
  6. validateCode: { 
  7. required:true, 
  8. number:true, 
  9. rangelength:[5,5] 
  10. }, 
  11. messages: { 
  12. name: { 
  13. required: "请输入命令名", 
  14. rangelength: jQuery.format("长度请控制在{0} ~ {1}") 
  15. }, 
  16. validateCode: { 
  17. required: "请输入验证码", 
  18. number: "请输入数字", 
  19. rangelength: jQuery.format("长度必须是5位") 

  20. }, 
  21.  
  22. success: function(label) { 
  23. label.addClass("error checked"); 
  24. }, 
  25.  
  26. submitHandler: function(form) { 
  27. if($("#RegionId").val() == '0'){ 
  28. $("#citySelect").attr("class","error").html('请选择区域').show(); 
  29. $("#RegionId").attr("class","error"); 

  30. }else{ 

  31. $("#RegionId").attr("class","valid"); 

  32. $("#citySelect").attr("class","valid").html('success').show(); 

  33. form.submit(); 
  34. }); 

    rules: { name:{ required:true, rangelength:[1,20] }, validateCode: { required:true, number:true, rangelength:[5,5] } }, messages: { name: { required: "请输入命令名", rangelength: jQuery.format("长度请控制在{0} ~ {1}") }, validateCode: { required: "请输入验证码", number: "请输入数字", rangelength: jQuery.format("长度必须是5位") } },

    success: function(label) { label.addClass("error checked"); },

    submitHandler: function(form) { if($("#RegionId").val() == '0'){ $("#citySelect").attr("class","error").html('请选择区域').show(); $("#RegionId").attr("class","error"); }else{ $("#RegionId").attr("class","valid"); $("#citySelect").attr("class","valid").html('success').show(); form.submit(); } } });

请输入命令名//错误信息会自动根在输入框的后面。

在上面的代码中,我并没有添加错误信息存放位置的方法,我们看一下效果

如果我们加上错误信息位置的方法errorPlacement来看一下效果是什么样子的。

查看复制打印?

rules: {name:{required:true,rangelength:[1,20]},validateCode: {required:true,number:true,rangelength:[5,5]}},messages: {name: {required: "请输入命令名",rangelength: jQuery.format},validateCode: {required: "请输入验证码",number: "请输入数字",rangelength: jQuery.format}},errorPlacement: function { //错误信息位置设置方法error.appendTo.next; //这里的element是录入数据的对象},success: function {label.addClass;},submitHandler: function {if == '0'){$.attr.html;$.attr;}else{$.attr;$.attr.html;form.submit;

*命令名称
  1. <td> 
  2. <input type="text" maxlength="30" value="" id="name" name="name"> 

  3. <label for="name" generated="true">请输入命令名</label>                                   //错误信息会自动根在输入框的后面。 

  4. </td> 

    //错误信息会自动根在输入框的后面。

请输入命令名

如果我们加上错误信息位置的方法errorPlacement来看一下效果是什么样子的。

//错误信息跑到这儿来了,

查看复制打印?

够简单吧,在简单的东西,长时间不用也会忘的。

  1. rules: { 
  2. name:{ 
  3. required:true, 
  4. rangelength:[1,20] 
  5. }, 
  6. validateCode: { 
  7. required:true, 
  8. number:true, 
  9. rangelength:[5,5] 
  10. }, 
  11. messages: { 
  12. name: { 
  13. required: "请输入命令名", 
  14. rangelength: jQuery.format("长度请控制在{0} ~ {1}") 
  15. }, 
  16. validateCode: { 
  17. required: "请输入验证码", 
  18. number: "请输入数字", 
  19. rangelength: jQuery.format("长度必须是5位") 

  20. }, 
  21. errorPlacement: function(error, element) {                             //错误信息位置设置方法 
  22. error.appendTo( element.parent().next() );                            //这里的element是录入数据的对象 
  23. }, 
  24. success: function(label) { 
  25. label.addClass("error checked"); 
  26. }, 
  27.  
  28. submitHandler: function(form) { 
  29. if($("#RegionId").val() == '0'){ 
  30. $("#citySelect").attr("class","error").html('请选择区域').show(); 
  31. $("#RegionId").attr("class","error"); 

  32. }else{ 

  33. $("#RegionId").attr("class","valid"); 

  34. $("#citySelect").attr("class","valid").html('success').show(); 

  35. form.submit(); 
  36. }); 

    rules: { name:{ required:true, rangelength:[1,20] }, validateCode: { required:true, number:true, rangelength:[5,5] } }, messages: { name: { required: "请输入命令名", rangelength: jQuery.format("长度请控制在{0} ~ {1}") }, validateCode: { required: "请输入验证码", number: "请输入数字", rangelength: jQuery.format("长度必须是5位") } }, errorPlacement: function(error, element) { //错误信息位置设置方法 error.appendTo( element.parent().next() ); //这里的element是录入数据的对象 }, success: function(label) { label.addClass("error checked"); },

    submitHandler: function(form) { if($("#RegionId").val() == '0'){ $("#citySelect").attr("class","error").html('请选择区域').show(); $("#RegionId").attr("class","error"); }else{ $("#RegionId").attr("class","valid"); $("#citySelect").attr("class","valid").html('success').show(); form.submit(); } } });

更多关于jQuery插件相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》

来看一下效果

澳门新濠3559,希望本文所述对大家jQuery程序设计有所帮助。

查看复制打印?

  1. <tr> 
  2. <th><label for="name" id="lname"><code title="必填">*</code>命令名称</label></th> 

  3. <td><input type="text" maxlength="30" value="" id="name" name="name"></td> 

  4. <td><label for="name" generated="true">请输入命令名</label></td>                     //错误信息跑到这儿来了, 

  5. </tr> 

    //错误信息跑到这儿来了,

够简单吧,在简单的东西,长时间不用也会忘的。

原文地址:

编辑:服务器运维 本文来源:dom对像的提交form.submit(),我并没有添加错误信息

关键词: