我在这里设置了以下小提琴Fiddle
如您所见,我可以通过单击“添加行”按钮添加输入。
添加的所有输入都具有唯一的ID和名称。问题是,我不能做像
这样的事情 $actionInput1 = $_POST["actionInput1"];
$actionInput2 = $_POST["actionInput2"];
$actionInput3 = $_POST["actionInput3"];
因为我可能需要
{{1}}
取决于添加的行数。那么如何在不知道我需要抓取什么输入的情况下获得所有输入呢?
由于
答案 0 :(得分:1)
使用数组边界命名输入,例如:
<input type=text name="actioninput[]" />
现在你可以在你的POST或GET(依赖)数组中重复它们:
print_r($_POST);
答案 1 :(得分:1)
将name=actionInput
替换为name=actionInput[]
它应该是一个具有相同名称的数组
同样的事情将适用于动态生成的所有需要的值的表单字段。
答案 2 :(得分:1)
实际上,你需要在隐藏时保持计数器,这样你在发布表单时就会得到,以防你不想将元素维护为数组,否则你可以将元素放在数组中,如下所示:
<input type=text name="inputs[]" />
答案 3 :(得分:1)
假设您的JSFiddle适合您,以下是步骤。
1)获取$_POST
的密钥。
2)从键获取最大计数器值。
3)从0
到count of post
进行for循环。
4)如果counter是0
,没有后缀,否则,将counter添加为后缀。
5)现在,你得到了变量。
6)对行中的每个元素重复一遍。
<?php
$keys = array_keys($_POST);
$keys = implode(',', $keys);
$n = str_replace('actionInput', '', $keys);
$m = explode(',', $n);
$max = max($m);
for ($i=0 ; $i<=$max ; $i++) {
$suffix = ($i==0) ? '' : $i;
if (isset($_POST['actionInput' . $suffix])) {
echo "<br/>-".$_POST['actionInput' . $suffix];
}
}
答案 4 :(得分:0)
在添加行jquery事件中更改此行 返回姓名+ i返回姓名
从中删除i然后 名称= actionInput []
的print_r($ _ POST);
它将提供actioninput数组