我在使代码工作时遇到了一些问题。用户可以添加更多输入框,我需要对它们进行验证。奇怪的是,如果我删除了消息部分,它就可以工作。
$("input.ing").each(function(){
$(this).rules("add", {
required: true,
messages: {
required: "Input a number"
}
});
});
有什么想法吗?
提前致谢
树脂
编辑:发现这个jsFiddle做了想要的东西,但是当我把代码复制到doc时,它不起作用! :( http://jsfiddle.net/jYwJE/
答案 0 :(得分:1)
引用OP:“用户可以添加更多输入框,我需要对它们进行验证。”
以下代码比jsFiddle更具体。它显示当用户点击某个按钮时,会在表单中添加一个名为newfield
的新字段,然后将rules are added dynamically添加到此新字段。
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true,
minlength: 5
},
field2: {
required: true,
minlength: 5
}
}
});
$('button#add').one('click', function () {
var field = '<input type="text" name="newfield" /><br />';
$('#myform').prepend(field);
$('[name="newfield"]').rules("add", {
required: true,
messages: {
required: "this new field is now required"
}
});
});
});
该演示仅显示如何添加一个新input
字段。如果您希望用户能够添加更多input
元素,则需要确保您的代码为每个新name
创建唯一 input
或者你将打破Validate插件。