嗨,我正在使用codeigniter。我有一个表单,我在那里动态添加隐藏的字段。所以每个隐藏的字段都是<input type='hidden' name='hidden' value="+$(this).attr('title')+">
,所以名称相同。
问题是,当我提交表单并尝试获取我的hiden字段值时,我只能得到一个隐藏字段值,因为名称相同
我打印我的表单值
print_r($this->input->post());
我有2个隐藏的字段,但我只有一个
Array
(
[hidden] => march
[textbox] => march
[mysubmit] => Submit
)
我可以在创建时动态更改隐藏字段的名称,但后来我不确切知道隐藏字段的名称,
如何获取具有相同名称的隐藏字段值?有什么方法可以获得除名称之外的表单值?我试过,找不到答案,请帮助.............
答案 0 :(得分:3)
您需要在name
属性中使用括号:
<input type='hidden' name='hidden[]'>
<!-- ^^^^ -->
这将允许PHP接受多个输入,其名称与值数组相同,因此在这种情况下,$_POST['hidden']
将返回一个字符串数组。
默认情况下,它们从0开始编入索引,因此$_POST['hidden'][0]
将为您提供第一个,$_POST['hidden'][1]
将为您提供第二个等等,但是 - 如果它更容易,您可以明确索引它们你,有数字或字符串。
<input type='hidden' name='hidden[first]'>
<input type='hidden' name='hidden[second]'>
或者:
<input type='hidden' name='hidden[0]'>
<input type='hidden' name='hidden[1]'>
你可以像hidden[first][1][]
一样深入嵌套它们,当你得到$_POST
值时,它们将被视为类似于PHP数组,但你需要HTML中的括号。 / p>
如果没有括号,$_POST
数组中只有最后一个字段的值可用。这是一个PHP功能,Codeigniter无法做任何事情。