![](/img/trans.png)
[英]how to retain to a page after an invalid form submission (CodeIgniter 3)
[英]CodeIgniter: How can I retain values after an invalid form submission?
我在谷歌上搜索过,在 PHP 本身、JavaScript/jQuery/AJAX 和 CodeIgniter 会话数据/闪存数据中有很多方法可以做到这一点。
但我更喜欢在 PHP 中执行此操作。 我的表单非常大,包含不同的元素,如文本输入、下拉菜单、收音机等。但是我在视图 (MVC) 中的输入上尝试了以下操作。
例子:
< input type="radio" name "gender" value="Male" <?php echo ($gender == 'Male')? 'checked': ''; ? />
< input type="radio" name "gender" value="Female" <?php echo ($gender == 'Female')? 'checked': ''; ? />
这会在页面加载时出现错误,显然是因为未定义 $gender 变量。 我可以在 Controller 中解决这个问题,但这将是一个巨大的过程,并且会分割代码。 有什么替代方法吗? 欢迎举例!
codeigniter 有 set_value 你只需在里面输入你的输入名称,就像示例打击一样。 如果验证为假,它只保留您之前输入的值。 例子:
<input type='text' name='last_name' id='last_name' value="<?=set_value('last_name')?>" />
完整的文档在这里。
将发布数据添加到您的视图数据警告中:根据您的问题和代码,这是一种肮脏和懒惰的方法:
例子:
在您提交它的控制器上:
function submit(){
$data->post = $this->input->post();
$this->load->view('view', $data);
}
在视图上添加:
extract($post);
你可以通过做来摆脱错误
(isset($gender)&&$gender=='Male'))
另请阅读http://www.codeigniter.com/user_guide/libraries/form_validation.html#re-populating-the-form
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.