我有一个用Perl CGI处理的HTML表单,如下所示:
<form action="process.cgi" id="main">
<input type="text" name="foo" class="required" />
<input type="text" name="foo" class="required" />
<input type="text" name="foo" class="required" />
</form>我正在用jQuery Validation plugin验证它。问题是,当我调用$('#main').valid()时,它只检查第一个字段是否是非空的。如何让它检查所有的字段?
发布于 2013-05-21 04:59:34
jqueryvalidation.org/reference/#link-markup-recommendations
“强制要求:对于所有需要验证的输入元素,都需要‘’属性,如果没有此属性,插件将无法工作。'name‘属性对于表单也必须是唯一的名称,因为这是插件跟踪所有输入元素的方式。但是,每组单选或复选框元素将共享相同的'name’,因为此组的值代表表单数据的一部分。”
<input type="text" name="foo" class="required" />
<input type="text" name="foo" class="required" />
<input type="text" name="foo" class="required" />报价OP:
的问题是,当我调用
$('#main').valid()时,它只检查第一个字段是否是非空的。如何让它检查所有的字段?
它与.valid()没有特别的关系,使用其他jQuery验证方法也会失败。这是因为这三个字段都有相同的foo name。这个插件的每个input都必须有一个唯一的name。
演示:
编辑
你不能在使用这个插件时重复的名字。这个演示清楚地表明,当name属性被复制时,插件将失败。没有解决办法,因为name属性是插件跟踪表单元素的方式。
唯一的例外是单选或复选框组,其中每个组中的元素将共享相同的name。
https://stackoverflow.com/questions/16654014
复制相似问题