2012-01-12 130 views
1

如何在表单提交后选中复选框?我在Codeigniter用户指南中找到了set_checkbox函数,但它不起作用。从用户指南页面重新加载后保留表单值 - Codeigniter

表单域代码

<input type="checkbox" name="mycheck" value="1" <?php echo set_checkbox('mycheck', '1'); ?> /> 
<input type="checkbox" name="mycheck" value="2" <?php echo set_checkbox('mycheck', '2'); ?> /> 

我也用Google搜索这一点,并发现一对夫妇的解决方法,但它们是基于笨的早期版本。他们基于表单验证,这对我的表单来说不是必需的,因为这些字段都不是必需的。

如何在提交表单后保留复选框字段值?

UPDATE:这个问题不是关于表单验证和错误。我想保留页面重新加载后的复选框字段值。 jquery是否有可能?

+0

'set_checkbox()'*是*的方式来处理这一点。必须有其他事情正在进行。你能否详细说明“不起作用”? – 2012-01-12 20:38:26

+0

我的表单输入代码看起来像用户指南的示例;数据库正在填充适当的值,但是当我刷新屏幕时,所有值都消失。 – chowwy 2012-01-12 21:43:16

+0

'set_checkbox()'在表单提交后重新填充复选框,但验证失败。手动刷新页面后,它不重新填充复选框。 – 2012-01-12 22:10:08

回答

3

如果页面刷新时没有提交POST,则可以使用CI会话将表单数据存储在会话中并检索它。所以逻辑将是

If($this->input->post()){ 
    /* ...load session class 

    ... Fetch form data as u like 

    ... Store form data in a session variable */ 
}else{ 
    /* ... Load session class 
    ... Check if session variable exist 
    ... Load form data from session variable and set the form values */ 
} 
+0

好的,谢谢。我会试试这个,但从概念上讲,这对我来说很有意义。 – chowwy 2012-01-16 00:59:36