我正在尝试为从html文字创建的输入添加一些验证规则。
这是我的小提琴:http://jsfiddle.net/idoxobi/HW4xY/1/
HTML:
<form id='form' method='post' >
<div id='details'>
</div>
<a id='Add' href='javascript:void()'>Add</a>
<br />
<input type='submit' />
</form>
JavaScript的:
$(document).ready(function() {
$('#form').validate();
var input = "<input type='text' class='item' name='item' />";
$('#Add').click(function() {
$('#details').append(input+'<br />');
$('#details input:last').rules('add', {
required: true
});
});
})
似乎只是在第一个元素中识别规则,但其他元素在没有验证的情况下通过。
我是第一次使用此插件,但在论坛中,每个人都说这应该可以正常工作。
有什么建议吗?
答案 0 :(得分:1)
检查一下:
HTML:
<form id='form' method='post' >
<div id='details'>
</div>
<a id='Add' href='#'>Add</a>
<br />
<input type='submit' />
</form>
JS:
$(document).ready(function() {
$('#form').validate();
var i = 0;
$('#Add').click(function() {
var input = "<input type='text' class='item' name='item"+ i++ +"' />";
$('#details').append(input+'<br />');
$('#details input:last').rules('add', {
required: true
});
return false;
});
});
答案 1 :(得分:0)
因为每个输入字段名称相同,并且已由@ YD1m修复,我的方法如下:
$(document).ready(function() {
$('#form').validate();
var counter = 0;
$('#Add').click(function() {
counter++;
$('#details').append("<input type='text' class='item required' name='item_" + counter + "' />" + '<br />');
});
});