具有相同隐藏属性的多个表单无法获取实际数据

时间:2012-03-25 20:36:09

标签: php forms codeigniter post attributes

我在一个页面中有7个表单,隐藏属性具有相同的名称但在每种情况下具有不同的值(我使用的是CodeIgniter):

echo form_open('user/submit');
$attributes2 = array('class' => $imageClass);
echo form_submit($attributes2);
echo form_hidden('id',$id);
echo form_hidden('parent',$paren);
echo form_hidden('side',$side);
form_close();

现在,在提交(从任何表格)后,我获得的id,parent,side的值是最后一个(第7个)形式。

如何获取实际点击的表单ID。

说,我点击了form1的提交按钮,其中id = 001,form7 id设置为7.

在post变量中提交后我得到id = 7 ...应该(或者,我想)为1。

2 个答案:

答案 0 :(得分:1)

设置隐藏字段的名称属性,如:

<input type="hidden" name="form1[yourFieldName]" value="yourFieldValue" />
<input type="hidden" name="form2[yourFieldName]" value="yourFieldValue" />
.
.
.
<input type="hidden" name="form7[yourFieldName]" value="yourFieldValue" />

通过这种方式,您可以更灵活地处理每个表单上的隐藏输入。 实际上,您可以将此模式应用于表单的所有字段。

CHEARS

答案 1 :(得分:0)

您错过了echo之前的form_close();

echo form_open('user/submit');
...
echo form_hidden('side', $side);
echo form_close();                //instead of just `form_close()`

这就是为什么你的表格仍然是未封闭的(或者我应该说打开?)并重叠,成为一个大的形式,只用你的ID给你最后一个元素。