我正在使用 jquery 验证 http://jqueryvalidation.org/
我有一个表单,其中第一个字段手动添加(硬编码)
然后以编程方式添加更多字段。 ARE 已附加到表单标签内,进入 div #to-append
手动添加的验证良好。
对于其余的,我尝试添加这样的规则,每次添加字段时:
var $largestID = $("#to-append > div:last > div:first > input:first").attr("id");
console.log($largestID); //throws right id
$($largestID).rules("add", {
required: true,
minlength: 3,
pattern: yt
});
但是得到了上面提到的“Uncaught TypeError Cannot read property 'form' of undefined”错误。
如有任何帮助,我们将不胜感激。
最佳答案
您正在添加采用 ID 字符串的规则。相反,采用元素选择器,并向该选择器添加规则。
var $largestID = $("#to-append > div:last > div:first > input:first").attr("id");
console.log($largestID); //throws right id
$('#'+$largestID).each(function () {
$(this).rules('add', {
required: true,
minlength: 3,
pattern: yt
});
});
使用$('#'+$largestID)
获取该ID的字段,然后添加规则。
要将规则添加到数组,请使用:
$('#'+$largestID).each(function () { })
您甚至可以验证该元素的名称数组:
$('#'+$largestID).validate({
rules: {
'url[]': {
required: true,
}
}
});
关于javascript - jQuery 验证未捕获类型错误无法读取未定义的属性 'form',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35473775/