如何逐个检索与类关联的元素。 在表单中我有几个字段,一些数字字段与一个类相关联。现在提交我需要验证同一个类的字段。我正在使用jquery。
$("form").submit(function() {
$(".numeric").each(function(intIndex)){})
});
这就是我在想的。我的方法是否正确。请提出任何建议。
答案 0 :(得分:1)
你的方法看起来是正确的;给定任何选择器,您可以使用.each
将函数应用于每个匹配的元素。你真的试过了吗?如果是这样,它不能满足您的需求呢?
如果您想阻止表单提交,则必须使用sentinal变量:
$("form").submit(function() {
var fieldsAreValid = true;
$(".numeric").each(function(intIndex)){
if (/* this field isn't valid */) {
fieldsAreValid = false;
}
});
if (!fieldsAreValid)
return false;
});
你永远不应该害怕只是尝试一下,看看它是否有效。我最喜欢的老师曾经说过“计算机科学是一门实验科学 - 现在离开我的办公室!”
答案 1 :(得分:0)
你的方法在技术上似乎是正确的,但是,仅仅是一个FYI,已经有一个框架可以用来处理这个问题。为什么重新发明轮子?看看jQuery Validate
答案 2 :(得分:0)
在此处查找工作示例: http://jsfiddle.net/ezmilhouse/ssVa9/
function is_numeric(mixed_var) {
return (typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);
}
$("form").live("submit", function(){
var val = true;
$(this).find( 'input[type=text]' ).each(function(){
if ($(this).hasClass('numeric')) {
if (!is_numeric($(this).val())) {
alert('Error! Field: ' + $(this).attr('name'));
val = false;
}
}
});
if (val === false) {
return false;
}
});