首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery Validating验证具有相同名称的多个字段

使用jQuery Validating验证具有相同名称的多个字段
EN

Stack Overflow用户
提问于 2013-05-21 00:30:18
回答 1查看 6.1K关注 0票数 4

我有一个用Perl CGI处理的HTML表单,如下所示:

代码语言:javascript
复制
<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()时,它只检查第一个字段是否是非空的。如何让它检查所有的字段?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-21 04:59:34

jqueryvalidation.org/reference/#link-markup-recommendations

“强制要求:对于所有需要验证的输入元素,都需要’属性,如果没有此属性,插件将无法工作。'name‘属性对于表单也必须是唯一的名称,因为这是插件跟踪所有输入元素的方式。但是,每组单选或复选框元素将共享相同的'name’,因为此组的值代表表单数据的一部分。”

代码语言:javascript
复制
<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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16654014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档