Jquery验证在动态添加的行上失败
我使用的是Jquery验证在动态添加的行上失败,jquery,jquery-validate,Jquery,Jquery Validate,我使用的是jquery验证插件,它不应用于动态添加的行 我的代码是: Html: <form action="test.php" onsubmit="return false;"> <div id="add_rows"> <div class="new-row"> <input type="text" required="required" name="qty[]" /><br />
jquery验证插件
,它不应用于动态添加的行
我的代码是:
Html:
<form action="test.php" onsubmit="return false;">
<div id="add_rows">
<div class="new-row">
<input type="text" required="required" name="qty[]" /><br />
<textarea required="required" name="test[]" rows='4' cols='15'></textarea>
</div>
</div>
<button>Add</button>
</form>
var frm=$('form').validate({
submitHandler: function(form) {
// do other stuff for a valid form
alert('form submitted');
return false;
}
});
$('button').on('click',function(){
$clone=$('.new-row:first').clone();
$clone.find('input,textarea').val('');
$clone.insertAfter($('.new-row:last'));
$clone.find('input,textarea').rules('add',{required:true});
$('.new-row:last').find('input,textarea').rules('add',{required:true});
});
另一个问题是,我在我的系统上尝试了它,我得到了如下错误:TypeError:e为null
对于行$clone.find('input,textarea').rules('add',{required:true})代码>如果删除,则不会出现错误,
但是这个错误在小提琴中看不到。试试这个,我想这就是你想要的
将唯一名称添加到文本区域和输入
var incr = 0;
$('button').on('click',function(){
incr++;
$clone=$('.new-row:first').clone();
$clone.find('input,textarea').val('');
$clone.find('input').attr('name','qty'+incr+'[]');
$clone.find('textarea').attr('name','test'+incr+'[]');
您的代码
给出了错误
类型错误:$。数据(…)未定义
,请在控制台中签入
,这里的验证也不起作用。它是HTML5必需的
,它使
边框变成红色now@RohanKumar你可以查看这个,我所做的是为每个文本区域和input@Anton不适合。此数据
存储在数据库
的post
之后。那么,在服务器端
如何获得不同的post变量?这就是我创建元素数组的原因,比如qty[]
。我不确定,在另一个属性中是否可能有qty[]<代码>jqueryvalidate插件要求每个要验证的输入必须具有唯一的name
属性。否则,您实现规则('add')
的方式就没有问题。