1

我有一个包含 15 个字段的表单(包括输入类型、选择框、文本区域)。

我可以用普通的方式编写一个函数来验证这个表单,但这不是智能编码。在这种情况下我需要使用每个。

这就是我的想法:

$("#id1, #id2, #id3... #id15").each(function(){
    if ($(this).val == "") {
        $(this).closest("#error").css("display", "block");
    }
})

这个验证应该是基于类还是基于id,我走对了吗?我是否在正确的上下文中使用each()?

4

3 回答 3

7

您可以:input在此处使用选择器来选择表单内的所有输入元素,例如:

$("#formID :input").each(function () {
    if ($(this).val() == "") {
        $(this).closest("#error").css("display", "block");
    }
});

或者,可以为您想要验证的所有输入添加一个特定的类validate并喜欢:

$(".validate").each(function () {
    if ($(this).val() == "") {
        $(this).closest("#error").css("display", "block");
    }
});

文档: http ://api.jquery.com/input-selector/

描述:选择所有输入、文本区域、选择和按钮元素。

于 2013-10-29T14:32:05.727 回答
2

或表单内具有 id 属性的任何标签

$('form *[id]')

或名称 attr 会更好

$('form *[name]')
于 2013-10-29T14:36:28.720 回答
-1

如果您有多个输入、选择和表单元素,请为每个元素添加一个类似“input-group”的类,然后遍历该组。

$("form .input-group").each(function(){
    if ($(this).val == "") {
        $(this).closest("#error").css("display", "block");
    }
})
于 2013-10-29T14:34:18.650 回答