gpt4 book ai didi

javascript - 验证动态添加的输入字段

转载 作者:IT王子 更新时间:2023-10-29 03:12:12 33 4
gpt4 key购买 nike

我用过this以下表单的 jquery 验证插件。

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>

<script>
$(document).ready(function(){
$("#commentForm").validate();
});

function addInput() {
var obj = document.getElementById("list").cloneNode(true);
document.getElementById('parent').appendChild(obj);
}
</script>

<form id="commentForm" method="get" action="">
<p id="parent">
<input id="list" class="required" />
</p>

<input class="submit" type="submit" value="Submit"/>
<input type="button" value="add" onClick="addInput()" />
</form>

单击添加按钮时,将动态添加一个新输入。但是,当提交表单时,只有第一个输入字段被验证。我如何验证动态添加的输入?谢谢...

最佳答案

您的输入应该具有“名称”属性。您需要动态添加规则,一种选择是在表单提交时添加它们。

这是我已经测试过并且有效的解决方案:

<script type="text/javascript">
$(document).ready(function() {
var numberIncr = 1; // used to increment the name for the inputs

function addInput() {
$('#inputs').append($('<input class="comment" name="name'+numberIncr+'" />'));
numberIncr++;
}

$('form.commentForm').on('submit', function(event) {

// adding rules for inputs with class 'comment'
$('input.comment').each(function() {
$(this).rules("add",
{
required: true
})
});

// prevent default submit action
event.preventDefault();

// test if form is valid
if($('form.commentForm').validate().form()) {
console.log("validates");
} else {
console.log("does not validate");
}
})

// set handler for addInput button click
$("#addInput").on('click', addInput);

// initialize the validator
$('form.commentForm').validate();

});


</script>

以及 html 表单部分:

<form class="commentForm" method="get" action="">
<div>

<p id="inputs">
<input class="comment" name="name0" />
</p>

<input class="submit" type="submit" value="Submit" />
<input type="button" value="add" id="addInput" />

</div>
</form>

祝你好运!如果适合您,请批准答案!

关于javascript - 验证动态添加的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11536271/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com