使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();