我有一个页面,允许用户使用JavaScript向表单添加和删除文本字段。
文本字段命名为field1
、field2
、field3
等,取决于用户添加了多少个字段
我试图将文本字段中的所有值存储到一个Php变量中;
我知道我需要先将它们存储到一个数组中,然后使用implode()
,但我如何指定我的Php代码中有多少输入?
通常最好的方法是使用数组命名的输入,如PHP文档中的以下示例所示:
<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[]" />
然后根据需要使用内爆:
$imploded_fields = implode(', ', $_POST['fields']);
有许多选项:
- 你可以使用cookie。使用
PHP $_COOKIE
获取它。寻求帮助 - 您可以使用
html hidden input fields
-<input type="hidden" value="">
,并可以在其中存储实际数量的字段
但是,Diego Agulló是更好的一个
如果on选项已经打开(field1),您可以创建一个隐藏字段并用1初始化它。并在增加字段值的同时增加计数器的值,反之亦然。提交时,您会发现添加的字段总数。
感谢