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')
的方式就没有问题。