我想创建一个网页,用户可以通过一个添加按钮添加和删除表单字段集,并删除与要删除的集相关的按钮。将通过jquery validate检查输入的值,同时动态添加规则。请参阅下面我的目标表格的简化示例:
用于添加,删除和验证表单字段集的javascript代码的良好结构是什么?我google了 - 也在这个网站上 - 并且有许多用于添加表单域的javascript示例。我喜欢我在view-source:http://www.coldfusionjedi.com/demos/jqueryvalidation/testadd.cfm找到的使用表单模板的示例。但我特别挣扎于删除按钮的javascript编码..(这不在示例中)
我的目标(简化)表格(带有1组3个表格的模板):
<form name="myForm" id="myForm" method="post" action="">
<input id="name1" name="name1" />
<input id="email1" name="email1" />
<input id="phone1" name="phone1" />
<input type="submit" value="Save">
</form>
答案 0 :(得分:1)
我认为你应该模板化表格。即将它包装在一个函数中,这样你就可以反复创建它。这是一个jsfiddle http://jsfiddle.net/krasimir/2sZsx/4/
HTML
<div id="wrapper"></div>
<a href="#" id="add-form">add form</a>
JS
var wrapper = $("#wrapper");
var addForm = $("#add-form");
var index = 0;
var getForm = function(index, action) {
return $('\
<form name="myForm" id="myForm" method="post" action="' + action + '">\
<input id="name' + index + '" name="name' + index + '" />\
<input id="email' + index + '" name="email' + index + '" />\
<input id="phone' + index + '" name="phone' + index + '" />\
<input type="submit" value="Save">\
<a href="#" class="remove">remove form</a>\
</form>\
');
}
addForm.on("click", function() {
var form = getForm(++index);
form.find(".remove").on("click", function() {
$(this).parent().remove();
});
wrapper.append(form);
});
答案 1 :(得分:0)
提交表单时可以进行简单验证,因此:
$('#myForm').submit({
var n1 = $('#name1').val();
var e1 = $('#email1').val();
var p1 = $('#phone1').val();
if (n1=='' || e1=='' || p1=='') {
alert('Please complete all fields');
return false;
}
});
请注意,return false
将中止提交并将用户返回到文档。
在此问题中可以找到添加/删除表单字段的优秀代码:https://stackoverflow.com/questions/18520384/removing-dynamically-generated-textboxes-in-jquery