为动态表单创建动态名称

乔希

   document.addEventListener("DOMContentLoaded", function () {
                var form = document.querySelector("form");
                    var formContainer = document.querySelector('#container');
                document.getElementById("newPlace").addEventListener("click", cloneSection);
                form.addEventListener("click", function (evt) {

                    if (evt.target.name == "remove")
                        formContainer.removeChild(sectionFor(evt.target));
                });
                form.addEventListener("input", function (evt) {
                    if (evt.target.name == "uberschrift")
                        updateHeader(sectionFor(evt.target), evt.target.value);
                });

               
               

                function cloneSection(evt) {
                    var target = form.querySelector("#container section:first-child").cloneNode(true);
                    formContainer.appendChild(target);
                    updateHeader(target, null);
                    var textFields = target.querySelectorAll("input[type=text]");
                    for (j = 0; j < textFields.length; ++j)
                        textFields[j].value = '';
                }
                function updateHeader(section, hdrValue) {
                var header = section && section.querySelector("h2 span");

                if (hdrValue != null)
                    header.innerText = " - " + hdrValue;

                else
                    header.innerText = "";

            }



                function sectionFor(control) {
                    while (control && control.tagName.toLowerCase() != "section")
                        control = control.parentNode;
                    return control;
                }
            });
<form name="form1" action="index.php" method="post" autocomplete="off" enctype="multipart/form-data">
        <div id="container" style="display: block;">
        <section>
            <h2>Place <span></span><button id="remove" type="button" name="remove">Delete</button></h2>
            <label for="headline"><span>Headline:</span><input type="text" name="headline" size="80"></label>
            
        </section>
       </div>
        <!--</form>-->
        
            
        <button id="newPlace" type="button">New Headline</button>
        <input type="hidden" name="aktion" value="save">
        <button id="enter" type="submit" value="save">Submit</button>
        

        
        
        
        
    
    </form>

我编写了一个动态表单,您可以在其中使用按钮添加表单字段。现在我试图将它们保存到 mysql 数据库中,但它只需要生成的输入字段的最后一个值。我想通了,这是因为仍然在每个创建的字段中的名称仍然相同。我怎样才能用纯 JS 解决这个问题?我正在考虑使用类似循环的东西,然后简单地增加它。

<form name="form1" action="index.php" method="post" autocomplete="off" enctype="multipart/form-data">
    <div id="container" style="display: block;">
    <label for="headling"><span>Headline:</span><input type="text" name="headline" size="80"></label></div>

提前致谢!

罗兰·鲁尔

如果您正在动态创建输入,那么您应该使用 name 作为数组,如下所示:

<input type="text" name="data[]" />

您可以将其作为数组访问服务器端(POST 方法示例):

print_r($_POST['data']);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从数组中为Angular中的表单创建动态名称?

来自分类Dev

为对象属性创建动态名称

来自分类Dev

动态表单创建-AngularJS

来自分类Dev

AngularJS:创建动态表单

来自分类Dev

为使用名称动态创建的Select捕获onchange事件

来自分类Dev

在AngularJS中为ng-model创建动态名称

来自分类Dev

动态创建表单和容器

来自分类Dev

动态创建表单轨道

来自分类Dev

如何创建动态Infopath表单?

来自分类Dev

动态还是静态创建表单?

来自分类Dev

PHP + HTML:动态创建表单

来自分类Dev

VBA Excel动态表单创建

来自分类Dev

jQuery验证动态创建的表单

来自分类Dev

动态创建和提交表单

来自分类Dev

对动态创建的表单执行操作

来自分类Dev

动态创建记录,型号名称

来自分类Dev

用动态名称创建变量

来自分类Dev

如何创建动态词典名称

来自分类Dev

XSLT动态创建名称空间

来自分类Dev

为角度为2的动态表单创建自定义验证器

来自分类Dev

Zeppelin动态表单:如何将变量传递为动态表单-或-重用动态表单

来自分类Dev

具有动态名称的角度验证表单

来自分类Dev

使用指令内部的动态名称验证表单

来自分类Dev

为MBT动态创建EFSM

来自分类Dev

为变量创建动态输入

来自分类Dev

如何获取名称和ID为动态的表单字段的值

来自分类Dev

出现错误:使用FormGroup创建动态表单时,找不到名称为''的控件

来自分类Dev

动态填充表单中动态创建的元素的下拉列表

来自分类Dev

在jQuery中动态创建表单提交问题