我想开发一个网页,动态添加和删除页面上的特定网页表单(所有具有相同结构的网页表单)(按下添加和删除按钮时)。添加和删除webforms已经在下面的代码中工作(使用jquery函数),但是在提交更多表单时我仍然很难创建相关的唯一名称值。我的想法是: - 将所有表单放在一个数组(forms())中 - 每个表单都有唯一的名称值 - ...并维护一个数组(formsavailable())已添加/使用哪些表格并已删除。
我在添加表单时已经添加了代码(下面)来维护formsavailable()。但我不知道如何编写formavailable()来删除表单。
有什么想法吗?或者是否有更简单的方法来创建具有所描述的上下文的唯一名称值?
请你的意见。
谢谢。
代码:
<script>
var forms = Array();
var formsavailable = Array();
forms = getProductconfigforms(); //create a list of strings with the product forms
var NUMBER_OF_FORMS = 5;
for (var i=1; i<=NUMBER_OF_FORMS;i++)
{
formsavailable[i] = true; //at the start all forms are
}
//script for adding and removing productss
$(document).ready (function () {
var i;
$('.btnAdd').click (function () {
i = formsavailable.indexOf(true);
$('.buttons').append(forms[i]); // end append
formsavailable[i] = false;
$('div .btnRemove').last().click (function () {
$(this).parent().last().remove();
}); // end click
}); // end click
}); // end ready
</script>
</head>
<body>
<h2> text here </h2>
<div class="buttons">
<input type="button" class="btnAdd" value="Add"><br>
</div>
<p> tekst </p>
<input type="button" value="Terug naar stap 1" onclick="goBack()">
</body>
答案 0 :(得分:1)
您实际上不需要创建唯一索引或唯一名称。 HTTP协议支持发送具有相同名称的多个数据点。
例如,这完全没问题:&amp; name = me&amp; name = you&amp; name = them&amp; name = her。在后端,根据您使用的框架和语言,您只需获得一个数组。
因此,在您的表单中,您可以使用
<label> Product 1 <input name="product_name" type="text" /></label>
<label> Product 2 <input name="product_name" type="text" /></label>
...
依此类推,直到你添加了许多你想要的形式。当您提交表单时,您的页面会自动将它们发送到您的后端表单,您可以在其中以编程方式解析每个表单。