动态填充字段的Jquery验证

Jquery Validation on dynamically populated fields

本文关键字:Jquery 验证 字段 填充 动态      更新时间:2023-09-26

我在让Jquery Validation在动态填充的字段上正常工作时遇到问题。首先,我使用asp.net,所以我需要我的名称字段保持不变,因为在服务器端,我会提取信息数组,将其拆分并更新数据库。

         <form id="insert_additions" action="http://yahoo.com" method="post">
<label>
    Name1<input type="text" name="testing" value="" required/>
</label>
<label>
    Name2<input type="text" name="box_setup"  required value="" />
</label>
<label>
    Comments:&nbsp<input type="text" name="comments" value="" /></label><br />
<div id="work"></div>
<br />
<hr align="left" width="50%"/>
<span style="margin: 0 0 0 300px;">
    <input class="submit" type="submit" value="Submit">
    <input type="button" id="addbutton" class="flatBtn" value="Add Another Project Line" /></span>
</form>

这是添加字段的代码

var work_count = 2;
$("#addbutton").click(function () { //sets up the validator
    //Html to create a new field
    var newField = "<hr align='left' width='50%'>'
        <label>Name1'
        <input type='text' name='testing"+work_count+"' required size='8'  value='' '
        </label>'
        <label>Name2'
        <input type='text' name='box_setup' required value='' />'
        </label>'
        <label>Comments:'
        <input type='text' name='comments' value='' />'
        </label>'
    ";
    $("#work").before(newField);
    $('input[id="testing'+work_count+'"]').rules("add", {  // <- apply rule to new field
        required: true
    });
    work_count++;
});

正如你所看到的,我已经尝试在javascript中添加validate.rules(),这样当它将新输入添加到页面中时,它也可以插入新规则。我试着制作id变量,但不确定我做错了什么。验证仅适用于第一组字段。我已经阅读并尝试实现我在这个网站上读到的各种解决方案,但我只是迷失了方向,我开始用头敲击键盘。任何帮助都将是伟大的,我感谢并喜欢这个网络论坛。

通过jquery设置属性如何?

$('input[name="testing'+work_count+'"]').attr('required', true);

顺便说一句,添加的输入没有id属性。所以:

$('input[id="testing'+work_count+'"]').rules("add"

应该是

$('input[name="testing'+work_count+'"]').rules("ad