可选输入上的codeigniter set_checkbox问题

时间:2011-06-21 01:14:08

标签: php codeigniter

我有一个名为checkall的可选复选框

<input name="checkall" type="checkbox" value="ON" <?php echo set_checkbox('checkall', 'ON'); ?> />

我确定表单正在提交

如果我给它一个验证规则$this->form_validation->set_rules('checkall', 'Checkall', 'required');它可行,但没有规则没有任何成功!

我错过了什么吗?我认为表单助手不要求此功能正常工作吗?

2 个答案:

答案 0 :(得分:4)

我认为你在谈论没有验证规则的持久价值。如果我没记错的话,这仍然是CI 2.x中的一个问题,并且仍然需要从2010年1月开始jbreitwiser的补丁:

http://codeigniter.com/forums/viewthread/96617/P15/#689642

如果这仍然是CI 2.x中的一个问题,这是完全荒谬的,我完全同意。但是那个补丁将解决你的问题。

答案 1 :(得分:0)

如果我理解正确,您的复选框未提交表单? 如果是这种情况,我在这个帖子HERE

上玩这个问题很开心

PHP希望您通过验证POST数组中是否存在相应的元素来检查是否设置了复选框。如果选中该复选框,则POST数组中将存在同名的元素(该元素将具有NULL值),如果未选中该复选框,则POST数组中将没有匹配元素。

代码看起来像这样:

您的输入元素保持不变 -

<input name="checkall" type="checkbox" value="ON" <?php echo set_checkbox('checkall', 'ON'); ?> />

回发处理程序页面获得了一种验证复选框的新方法 -

if(isset($_POST["checkall"])
{
   $checkall = TRUE;
}
else
{
   $checkall = FALSE;
}

希望我帮助过,迟到了,你的问题在细节上很少。

此致