问题描述
||
这是来自代码点火器视图的一些代码:
<li>
<label>Assign volunteer to event:</label><br />
<? foreach ($all_vols as $vol) :?>
<?=form_checkBox(\'volunteers\',$vol) ?>
<?=$vol[\'username\']?>
<br />
<? endforeach ?>
</li>
我期望在$_POST
变量中有一个名为volunteers
的数组。相反,我得到的是3英镑。有什么想法吗?
解决方法
以此方式使用数组时,不能将其用作form_checkbox()的第二个参数,并且稍后使用ѭ5时,ѭ4可能是数组。您正在混淆表单助手,该助手将第一个参数用作\'name \'属性,第二个参数用作\'value \'属性。
尝试:
<? foreach ($all_vols as $vol) :?>
<?=form_checkbox(\'volunteers[]\',$vol[\'username\']) ?>
<?=$vol[\'username\']?>
<br />
<? endforeach ?>
, 来自CI的用户指南
$data = array(
\'name\' => \'newsletter\',\'id\' => \'newsletter\',\'value\' => \'accept\',\'checked\' => TRUE,\'style\' => \'margin:10px\',);
echo form_checkbox($data);
// Would produce:
<input type=\"checkbox\" name=\"newsletter\" id=\"newsletter\" value=\"accept\" checked=\"checked\" style=\"margin:10px\" />
您的数组应包含填充复选框所需的数据。因此,如果您确定复选框包含填充该字段所需要的内容,则可能希望将其更改为<?=form_checkbox($vol) ?>
。
, http://codeigniter.com/user_guide/helpers/form_helper.html上的文档建议使用字符串作为第一个参数(在您的情况下为“ volunteers \”)会产生一个名称的ѭ9,而对属性使用$vol
输入标签中的值对。这是你想要的吗?如果是这样,您显然将获得一个\“ username \”属性。