5

我用谷歌搜索过,在 PHP 本身、JavaScript/jQuery/AJAX 和 CodeIgniter 会话数据/闪存数据中有很多方法可以做到这一点。

但我更喜欢在 PHP 中执行此操作。我的表单非常大,包含不同的元素,如文本输入、下拉菜单、收音机等。但是我在 View (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 中解决这个问题,但这将是一个巨大的过程并且会分散代码。有没有其他的方法?欢迎举例!

4

3 回答 3

15

codeigniter 有 set_value,你只需在里面输入你的输入名称,就像例子一样。如果验证为假,它只会保留您之前输入的值。例子:

 <input type='text' name='last_name' id='last_name' value="<?=set_value('last_name')?>" />

完整的文档在这里。

http://www.codeigniter.com/user_guide/libraries/

于 2013-07-08T09:55:22.333 回答
1

将发布数据添加到您的视图数据警告:根据您的问题和代码,这是一种肮脏而懒惰的方式:

例子:

在您提交它的控制器上:

function submit(){
 $data->post = $this->input->post();
 $this->load->view('view', $data);
}

在视图上添加:

extract($post);
于 2013-07-08T09:45:28.830 回答
0

你可以通过做摆脱错误

(isset($gender)&&$gender=='Male'))

另请阅读http://www.codeigniter.com/user_guide/libraries/form_validation.html#re-populating-the-form

于 2013-07-08T09:37:18.940 回答