【问题标题】:Keep form values after page reload - Codeigniter页面重新加载后保留表单值 - Codeigniter
【发布时间】:2012-01-12 19:36:34
【问题描述】:

如何在表单提交后保持复选框处于选中状态?我在 Codeigniter 用户指南中找到了 set_checkbox 函数,但它不起作用。

用户指南中的表单域代码

<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'); ?> />

我也搜索了这个并找到了一些解决方法,但它们是基于以前版本的 Codeigniter。它们基于表单验证,这对我的表单来说不是必需的,因为没有任何字段是必需的。

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

更新:这个问题与表单验证和错误无关。我想在重新加载页面后保留复选框字段值。 jquery 有可能吗?

【问题讨论】:

  • set_checkbox() 处理这个问题的方法。一定有其他事情发生。你能详细说明“它不起作用”吗?
  • 我的表单输入代码看起来像用户指南的例子;数据库正在填充正确的值,但是当我刷新屏幕时,所有值都消失了。
  • set_checkbox() 在提交表单但验证失败后重新填充复选框。手动刷新页面后,它不会重新填充复选框。
  • @Colin,我就是这么想的。所以我的问题仍然存在。页面刷新后如何重新填充复选框?
  • 你应该考虑改写你的问题标题,这样那部分就清楚了。感谢您的澄清!

标签: jquery forms codeigniter


【解决方案1】:

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

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 */
}

【讨论】:

  • 好的,谢谢。我将尝试一下,但从概念上讲,这对我来说是有意义的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多