Dor*_*use 4 javascript jquery jquery-1.6
我正在使用jQuery构建一个相当简单的插件来验证表单.当一个元素被评估为有效时,我会运行
$(this).prop("valid", false);
Run Code Online (Sandbox Code Playgroud)
在某些情况下,如果有任何内容无效,我将要阻止表单提交.基本上我正在寻找一种方法来选择有效属性为false的所有元素?我是否必须迭代所有相关元素并检查错误读数,还是有一个我忽略的jQuery选择器?就像是:
$("input[valid=false]");
Run Code Online (Sandbox Code Playgroud)
会好的.有什么建议?
试试这个...
$('input').filter(function() {
return this.valid === false;
});
Run Code Online (Sandbox Code Playgroud)
这将返回所有input元素(你的意思是:input?),其中它的valid属性是 false(注意严格相等比较).
:invalidjQuery选择器过滤器你可以写一个简单的选择器过滤器:
$.extend($.exp[":"], {
invalid: function(element) {
return element.valid === false;
}
});
Run Code Online (Sandbox Code Playgroud)
然后简单地将它与您使用的任何选择器组合以获得您的元素,即:
// all invalid inputs
$(":input:invalid");
// or all invalid text boxes
$("input[type=text]:invalid");
Run Code Online (Sandbox Code Playgroud)
而已.
让我们把它全部放在一个简单的插件中,您可以轻松地将其包含在脚本代码中或放入脚本文件中(如果您使用相同的验证功能,则可以在多个页面上使用多个应用程序):
(function($) {
$.extend($.exp[":"], {
invalid: function(element) {
return element.valid === false;
}
});
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |