因此,必须有一种更简单的方法来创建它。 我有一个带有以下HTML的表单:

      <p>Names</p>
        <ul class="container1"  style="list-style-type:none;">
            <li><input type="text" size="10"  name="Name" /></li>
        </ul>
       <input type="button" class="add_form_field" value="+"> 

然后,如果用户需要添加更多名称,则添加了一些JS来创建新的文本框:取自: http : //www.sanwebcorner.com/2017/02/dynamically-generate-form-fields-using.html

   $(document).ready(function() {
var max_fields      = 10;
var wrapper         = $(".container1");
var add_button      = $(".add_form_field");

var x = 1;
$(add_button).click(function(e){
    e.preventDefault();
    if(x < max_fields){
        x++;
        $(wrapper).append('<div><input type="text" name="Name"/><a href="#" class="delete">Delete</a></div>'); //add input box
    }
    else
     {
         alert('You Reached the limits')
          }
});

$(wrapper).on("click",".delete", function(e){
    e.preventDefault(); $(this).parent('div').remove(); x--;
})
}); 

 $(document).ready(function() { var max_fields = 10; var wrapper = $(".container1"); var add_button = $(".add_form_field"); var x = 1; $(add_button).click(function(e){ e.preventDefault(); if(x < max_fields){ x++; $(wrapper).append('<div><input type="text" name="Name"/><a href="#" class="delete">Delete</a></div>'); //add input box } else { alert('You Reached the limits') } }); $(wrapper).on("click",".delete", function(e){ e.preventDefault(); $(this).parent('div').remove(); x--; }) }); function check() { var temp = document.getElementsByClassName("formElem"); if (document.getElementById("ckbox").checked) { for (var e = 0; e < temp.length; e++) { // For each element var elt = temp[e]; elt.required = false; } } else { for (var e = 0; e < temp.length; e++) { // For each element var elt = temp[e]; elt.required = true; } } } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p>Names</p> <ul class="container1" style="list-style-type:none;"> <li><input type="text" size="10" name="Name" /></li> </ul> <input type="button" class="add_form_field" value="+"> 

然后,我需要使用PHP将这些附加值写入.CSV文件,这是我遇到的问题:

  <?php
        // Receive form Post data and Saving it in variables
           header('Location: thanks.html'); 
          $Name = "";

          $Name = @$_POST ['Name'];

        // Write the name of text file where data will be store
          $filename = "file.csv";

        // Merge all the variables with text in a single variable. 
            $f_data= '
            Names for people: '.$Name.'                  ';

             $file = fopen($filename, "r+");
             fwrite($file,$f_data);
             fclose($file);
?>

发生的情况是最后一个附加的文本框被写入到csv文件中,是否可以通过这些创建的文本框以使它们可以写入文件? 真正相似的问题:将动态文本输入传递给PHP以写入文本文件

但是我不确定是否可以使用文本框完成此操作。

#1楼 票数:2 已采纳

问题是,您添加的每个输入都具有名称“ name”,因此PHP只能访问最后一个(覆盖了其他输入)。 为了解决这个问题,您可以在输入名称中添加索引或对它们进行排列。 可以这样实现:

<input type="text" name="name[]"...>

因此,现在,在PHP脚本上,您可以遍历该数组以获取所有输入,或将所有元素嵌入变量中:

<?php
$names = implode(", ", $_POST["name"]); // all the names, comma-separated 
?>

现在,您可以在$ f_data中使用$ names来查看所有输入的字段。

(感谢Fred-ii有关报价的提示)

  ask by Gabriel translate from so

未解决问题?本站智能推荐:

3回复

如何从数组结果创建.csv文件?

我正在使用PHP类实时检查电子邮件的有效性,PHP脚本运行良好:检查电子邮件并将结果打印在同一页上,为每个经过验证的电子邮件创建一个<td>元素。 我的问题是我要验证200,000封电子邮件...脚本的结果是一个庞大的列表,导致我的浏览器停止工作。 是否可以使用结果创建.
1回复

在JavaScript中为csv实现save.As()对话框

我正在尝试编写将php数组转换为csv的代码,然后打开一个下载对话框(save.As()),以便网站用户可以在单击html href链接后下载文件。 在搜索了很多帖子之后,我已经可以使用JavaScript解决方案,使我能够将php数组转换为csv并将结果显示在网页上,以检查其是否正常运行
1回复

jQuery下载带有链接onclick的csv文件

我正在尝试使用jquery按钮onclick下载CSV文件。 我有一个id export的<a>标签,我希望它指向下载链接,我可以下载我刚刚创建的CSV文件。 这是我的PHP代码,我正在创建一个CSV文件 我该怎么做才能下载CSV文件? 编辑:最后找出答案,
2回复

使用onclick函数将CSV文件存储到数据库

<i>我想问一下从html表单上传后如何将CSV文件存储到数据库中。 我曾尝试使用onclick将CSV文件存储到数据库,并且可以正常工作。 但同时我需要验证表单中的其他字段,但无法使用onclick函数进行验证。 在我的项目中,我将javascript与我的php代码集成在一
1回复

添加文本框并将其中的数据存储在 .csv 文件中 [关闭]

关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善
4回复

删除动态创建的文本框

我有以下代码,可用于在单击按钮时动态添加文本框。 有用。 上面代码的javascript是: 我正在使用自动完成功能从文本框中的数据库中获取数据 我想要的是-假设如果用户单击“添加更多赢家”按钮,但又不想在文本框中添加任何数据,我应该给他一个按钮,以删除多余的文本框。
1回复

如何使用POST方法在另一个PHP文件中检索动态创建文本框的文本?

我在单击某个按钮时动态创建了一个文本框,现在我想从该文本框中检索文本以显示在另一个php表单页面上。 以下是我的html代码,其中我为动态创建的文本框分配了名称"c1" , "c2"和"c3" 。 我的php代码在另一个文档中: 当指向第二个php页面时,它说c1 , c2和c
3回复

在动态创建的文本框中更改文本

我有一堆文本框,它们是每次单击动态创建的。 它们都具有相同的名称“ discount []”,相同的标识“ discount”和相同的类“ tinput”。 无论如何,我可以使用javascript或jquery来更改所有这些文本框中的文本吗? 我还有一堆动态创建的文本框。 id