将动态创建的输入值存储到PHP变量中

时间:2012-07-19 10:07:49

标签: php javascript

我有一个页面,允许用户使用JavaScript在表单中添加和删除文本字段。

文本字段的名称为field1field2field3等,具体取决于用户添加的字段数

我正在尝试将文本字段中的所有值存储到一个Php变量中;

我知道我需要先将它们存储到数组中然后使用implode(),但是如何指定我的Php代码中有多少输入?

3 个答案:

答案 0 :(得分:2)

通常,最好的方法是使用数组命名的输入,如下面的example in the PHP docs所示:

<form action="" method="post">
    Nombre:  <input type="text" name="personal[nombre]" /><br />
    Email:   <input type="text" name="personal[email]" /><br />
    Cerveza: <br />
    <select multiple name="cerveza[]">
        <option value="warthog">Warthog</option>
        <option value="guinness">Guinness</option>
        <option value="stuttgarter">Stuttgarter Schwabenbräu</option>
    </select><br />
    <input type="submit" value="submit me!" />
</form>

您可以为每个用户添加的字段使用相同的名称,如:

<input type="text" id="field1" name="fields[]" />
<input type="text" id="field2" name="fields[]" />

然后根据需要使用implode:

$imploded_fields = implode(', ', $_POST['fields']);

答案 1 :(得分:0)

有很多选择:

  1. 您可以使用Cookie。使用PHP $_COOKIE获取它。 For help
  2. 您可以使用html hidden input fields - <input type="hidden" value="">并在其中存储实际的字段数。
  3. 但是,DiegoAgulló是更好的

答案 2 :(得分:0)

如果on选项已经打开(field1),您可以创建一个隐藏字段并用1初始化它。并且在增加字段值和vise verse的同时增加counter的值。提交后,您将找到添加的总字段数。

谢谢