昨天遇到此错误信息,下面是调试后正确的代码:
1 $("#inputForm").validate({//inputForm是对应的表单的id 2 onkeyup:false, 3 onfocusout:false, 4 focusCleanup:true, 5 rules: { 6 "inputName": { //inputName是要验证的输入框的name 7 remote:{ 8 type:"POST", 9 url: "checkTheInput.action", 10 data:{_iataCode:function(){return $("#inputId").val();}}//inputId是要验证的输入框的id 11 } 12 } 13 }, 14 errorPlacement: function(error, element) { 15 error.appendTo("#errorDiv");//errorDiv是显示错误信息的div的id 16 }, 17 messages: { 18 "inputName": { 19 remote: "输入的数据不合法!" 20 } 21 } 22 });
如果将"onfocusout:false,"修改为"onfocusout:true,"就会报出上面的错误信息,不过并不影响程序的执行。
上面一段简单的代码已经显示出我们用此段代码的需求(验证表单中的一个输入框中的数据是否合法,用到了jQuery验证中的remote验证),本文主要的目的是为了解释上面的错误因为什么而产生。onfocusout的值默认是true,按理讲写明为true和不写的情况是一直的,不过如果写的话确实会出现上面的错误情况,并且导致“focusCleanup:true,”作用失灵,根本的原因还不晓得需要进一步查证!
1:参考:
http://1.wallwebsite.sinaapp.com/?p=44
2:jQuery验证控件jquery.validate.js使用说明和中文API
http://www.cnblogs.com/hejunrex/archive/2011/11/17/2252193.html