使Jqueryvalidation插件适用于没有name属性的输入

好吧,我花了很长时间才发现JQuery表单validation插件仅适用于具有“name”属性的字段。

无论如何,我用它来制作所需的所有字段。

我的问题是,在某些时候,我有一个文本输入

Add input

用户可以根据需要添加任意数量的文本输入:

 $("#add-choice").live("click",function(){ $("#choices").append("
"); });

我也希望这些新领域也是必需的。 即使我给第一个输入命名。 对于动态添加的新输入,我该怎么办?

有没有办法在不使用名称attr的情况下使用插件,还是有其他解决方案?

对于动态添加的新输入,我该怎么办?

给他们一个名字,任何名字

有没有办法在不使用名称attr的情况下使用该插件?

没有

还有其他解决方案吗?

这取决于你对这些字段做了什么 – 显然你不需要为了使jqueryvalidation工作的任何其他原因而在它们上面有一个名字,那你为什么不只是编造一个名字并将它们称之为全部?

纠正 – 需要唯一的名字看评论

 var i = 0; $("#add-choice").live("click",function(){ $("#choices").append("
"); i = i + 1; });

引用OP:

“有没有办法在不使用名称attr的情况下使用插件”

不,如果您的所有字段都没有name属性,则无法使用jQuery Validate插件。

根据文件:

标记建议

对于输入元素,name属性是”””’,如果没有它,validation插件就无法运行。

“解决方法”是让jQuery在创建新输入时创建一个唯一的名称。

是的,你可以做到,但有限制

限制:在使用不同规则时,您无法灵活地更改消息。

 
jQuery("#validationForm").validate();