Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否在jQuery全局验证中排除某个div?_Javascript_Jquery - Fatal编程技术网

Javascript 是否在jQuery全局验证中排除某个div?

Javascript 是否在jQuery全局验证中排除某个div?,javascript,jquery,Javascript,Jquery,好的,我们在页面中有大约30个输入框,我们没有为每个输入框都写一个无数据行,而是有一个简单的语句: if( $(div).find('input:text[value=""]').length > 0 || $('#checkbox1Wrap').find('input:checkbox:not(:checked)').length > 0 || $('#checkbox2Wrap').find('input:checkbox:not(:checked)').leng

好的,我们在页面中有大约30个输入框,我们没有为每个输入框都写一个无数据行,而是有一个简单的语句:

if( $(div).find('input:text[value=""]').length > 0 ||
    $('#checkbox1Wrap').find('input:checkbox:not(:checked)').length > 0 ||
    $('#checkbox2Wrap').find('input:checkbox:not(:checked)').length > 0 ||
    $(div).find('select option:first-child:selected').length > 0 ||
    $(div).find('textarea').val() == ""
){
    $(div).prepend('<p class="field_help"> Please complete all fields before moving to next step</p>');
    return false;
}
这将检查所有输入字段,以检查其长度是否大于0,但我们希望排除某些字段的检查

例如:

<input type="text" autocomplete="off" value="" name="ext" id="ext">
我们不希望检查上述输入字段

如何使if语句跳过某些已定义的ID?

您可以使用.not方法:

此处的文档:

我应该注意的是,如果您不介意将表单的业务逻辑与HTML标记混合在一起,那么有一种标准的方法要简单一些:

在HTML中,向所有必需元素添加必需的CSS类

在jQuery中,在选择器中指定该类:

`$(div).find('input.required:text[value=""]')`
现在只验证必需的元素。这种方法有几个优点:

您可以轻松地使用CSS直观地指示所需字段 选择器更简单 如果您决定需要更复杂的验证,那么您已经准备好使用 您也可以使用可选类在相反的方向上做同样的事情,但我认为required在语义上更好一些。

您可以使用.not方法:

此处的文档:

我应该注意的是,如果您不介意将表单的业务逻辑与HTML标记混合在一起,那么有一种标准的方法要简单一些:

在HTML中,向所有必需元素添加必需的CSS类

在jQuery中,在选择器中指定该类:

`$(div).find('input.required:text[value=""]')`
现在只验证必需的元素。这种方法有几个优点:

您可以轻松地使用CSS直观地指示所需字段 选择器更简单 如果您决定需要更复杂的验证,那么您已经准备好使用
您也可以使用可选类在相反的方向上做同样的事情,但我认为required在语义上更好一些。

这听起来不错,是不是有一个相反的。不是吗?如果是的话,我们可以强制执行?如果这有什么意义的话?我不知道我是否明白。如果使用.not,则要排除的元素不在集合中,因此必须在之后重新添加特定元素:。not'.general'.add'specific'捕获特定元素,即使它具有general类。这就是你的意思吗?否则,您的集合中的所有元素都将被强制执行,对吗?@Latox-请参见编辑-我正在考虑这个问题,我认为我上面描述的方法更可取。这听起来不错,有相反的吗?不是吗?如果是的话,我们可以强制执行?如果这有什么意义的话?我不知道我是否明白。如果使用.not,则要排除的元素不在集合中,因此必须在之后重新添加特定元素:。not'.general'.add'specific'捕获特定元素,即使它具有general类。这就是你的意思吗?否则,您的集合中的所有元素都将被强制执行,对吗?@Latox-请参见编辑-我正在考虑这个问题,我认为我上面描述的方法更可取。