创建并提交动态表单

时间:2013-07-02 15:47:49

标签: javascript jquery

我想开发一个网页,动态添加和删除页面上的特定网页表单(所有具有相同结构的网页表单)(按下添加和删除按钮时)。添加和删​​除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>

1 个答案:

答案 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>
...

依此类推,直到你添加了许多你想要的形式。当您提交表单时,您的页面会自动将它们发送到您的后端表单,您可以在其中以编程方式解析每个表单。