这是一个页面A.html
<form name=form>
<input type=text id = txtA>
</form>
当我使用jquery加载到B.html 我加载了多次。
<form name=form>
<input type=text id = txtA>
</form>
<form name=form>
<input type=text id = txtA>
</form>
<form name=form>
<input type=text id = txtA>
</form>
<form name=form>
<input type=text id = txtA>
</form>
如何将表单名称重命名为form1,form2,form3 ... formN 所以我可以得到这个
<form name=form1>
<input type=text id = txtA>
</form>
<form name=form2>
<input type=text id = txtA>
</form>
<form name=form3>
<input type=text id = txtA>
</form>
当我提交时,我想使用php来检索数据。
for each form
formi.txtA
这样我可以唯一地获取每个表单数据。
答案 0 :(得分:5)
这将重命名所有名为form
的表单,并将后缀增加一个数字:
$('form[name="form"]').each(function(i) {
this.name = 'form' + (i + 1);
});
当你逐个加载表单时,需要采用不同的方法:
var renamer = (function() {
var i = 1; // private counter
// return public interface
return function(base) {
$(base).find('form[name="form"]').each(function() {
this.name = 'form' + i;
++i;
});
}
}());
每次添加新表单时,都要调用:
renamer('#divid');
其中'#divid'
是表单所在的父节点的jQuery选择器。
<强>更新强>
您似乎有多个动态加载的输入字段。不要加载整个新表单,只需加载<input />
片段。
$(`#form`).load('http://www.example.com/inputfield?type=dob');
然后服务器将返回一个片段:
<input name="dob" type="text" value="" />
然后将其插入到一个表单中,以便您可以将其提交给PHP。
答案 1 :(得分:2)
一旦所有负载完成,您就可以运行循环。
for(var i=0; i < $("form").size(); i++){
$("form").eq(i).attr("name", "formName"+i);
}