我确信这已经发生了很多次,但是我很快就遇到了这个问题。我会尝试尽可能具有描述性而不会使问题陈述膨胀。
我正在使用jQuery validate插件进行表单验证。通过ajax检索所有表单规则和消息,然后进行初始化。所有表单验证都像魅力一样,直到我开始克隆表单内的字段集,以便用户能够添加其他条目。
输入字段对更改值(错误突出显示和显示消息等)的反应完全正确,但是当我在表单上调用.valid()方法时,它会忽略从第一个克隆的附加字段集。
我在克隆字段集后添加了测试规则,并且输入字段再次正确响应新分配的规则,但在表单元素上调用.valid()时会被忽略。
如果有人愿意帮助我找到问题,我会添加代码段。
提前致谢! 佛瑞德
编辑:
我发现.valid()方法只使用表单中的第一个字段集。请注意,克隆字段集的所有输入名称都与原始字段集相同。例如,假设我在原始字段集中有一个名为productName的字段,并且我克隆它,我现在将在表单中有两个具有相同名称属性的输入。
可能是jQuery验证只关心它到达的第一个实例并对其进行验证吗?我看过关于jQuery的帖子验证不能在表格上使用重复的输入名称,但我相信它已经解决了。