【发布时间】:2017-11-08 16:08:52
【问题描述】:
我有一个表单,允许用户根据需要向他们的帐户添加任意数量的人。这是我的表单的一个小样本:
<input type="text" name="first_name[]" required>
<input type="text" name="last_name[]" required>
我遇到的问题是验证表单。 first_name[] 和 last_name[] 的第一个实例将验证。但是,任何其他实例都不会。我做了一些研究,这是由于输入具有相同的名称属性。我尝试为每个动态添加的输入添加唯一 ID,但没有奏效。
另外,我尝试了 jQuery 验证插件,也没有成功。
【问题讨论】:
-
如果我是正确的,您正在尝试制作一个允许用户输入姓名列表的表单。然后需要提交该名称(输入)列表。更好的 UI 设计是一次接受一个用户的表单,或者如果您必须以这种方式使用 first_name_1、first_name_2、first_name_3 动态添加输入,而没有看到您设计的完整 UI,这很难建议。你能发布更多代码
-
我制作了this fiddle,它似乎工作得很好。所有输入都是必需的
-
@MartinWebb,我之所以使用这种
first_name[]之类的表单是因为表单将使用PHP 提交和处理。循环提交的表单需要命名格式。 -
@RicardoRibeiro,嗯,这很奇怪,因为同样的设置对我不起作用。小提琴有效,但在我的网站上无效。我将尝试禁用 jquery validate 插件,看看会发生什么。
-
请添加执行验证的代码,我很确定您查询 DOM 的方式只能找到第一个具有名称的控件...您应该在名称为
type="text"的表单。检查你如何循环穿过它们。
标签: jquery html jquery-validate