validate 插件默认不会校验隐藏的 input(包括 type="hidden" 的或 display:"none" 的 input),我猜想插件作者这么做的原因可能是为了提升性能。但是有时还是需要对一个隐藏的 input 进行操作。

网上有一个方法是修改插件,把这项限制去除:

打开 jquery.validate.min.js,把

ignore:":hidden"

改为

ignore:""

不过为了某几个特例而除去全局的限制,不太理想,我想到另一个方法:

<style>
input.validate_hidden { position:absolute; height:0; width:0; border:0; }
</style>
<input type="text" class="validate_hidden" name="test" />
<script>
// 避免点击错误提示时鼠标焦点落在 input 内
$("body").delegate("label.error", "click", function(){
 return false;
})
</script>

 

原文:http://www.zhugao.net/today/2012/1449.html

 

 

jQuery validate很不错的一个jQuery表单验证插件。升级到了1.9版的后,发现隐藏表单域验证全部失效,网上一搜,也没查到是怎么回事。最后在1.9的changelog里发现了这么一句

changelog里

* Fixed #189 - :hidden elements are now ignored by default

ignore: ":hidden",

ignore: ""就又开始验证隐藏域了

相关文章:

  • 2021-05-22
  • 2022-02-16
  • 2021-09-12
  • 2022-12-23
  • 2021-12-26
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
相关资源
相似解决方案