最近在使用validate插件进行验证的时候,出现有的控件在个别事件(比如keydown、foucs、onchange等)下不能自动验证,而有的控件却又正常,当时觉得很诡异,后来仔细测试查看,归纳原因及解决方法如下:(不一定全面,但是如果出现了类似的情况,可以做个参考)
原因1:控件出现了重复的type值,比如input控件中,出现了多个type="textbox",这几个input控件都无法正常的响应事件的自动验证,只有提交后才进行一次验证。
解决方法:去掉这个type属性,同样的type值,只能存在最多一个。
原因2:控件出现重复的name值,比如input控件中,出现了多个name="name",这几个input控件都无法正常的响应事件的自动验证,而且提交后也不能进行正常的验证。
解决方法:保证控件中没有重复的name属性值。
其他个例:一切都配置正常,但是仍然无法实现个别事件的自动验证。
解决方法:在脚本中,按照validate事件的格式手动显示的重写一下指定的事件,比如
$(function(){ $("#form").validate({ keydown:true, errorPlacement: function (error, element) { $("<br/>").appendTo(element.parent()); error.appendTo(element.parent()); }//错误信息显示在控件下方 }) })
希望上面的东东,能对各位有点小帮助。3Q!