编辑表单正确回显之前保存的数据,但不更新表单字段
Posted
技术标签:
【中文标题】编辑表单正确回显之前保存的数据,但不更新表单字段【英文标题】:Edit form echoes previously saved data correctly but does not update the form fields 【发布时间】:2014-05-16 01:18:15 【问题描述】:回显以前保存的数据(不包括下拉值中的数据)对我来说已经很好了。我可以看到为特定记录保存的正确数据,但是,在编辑表单后,我看不到任何成功的东西。应该编辑的数据保持不变。我为实际编辑回显值而键入的所有内容都没有结果。
我的控制器中目前有这个:
public function edit_job()
$this->validateRole('client');
$this->load->model('job_model');
$id = $this->uri->segment(3,0);
$data['my_preference'] = $this->array_to_select( $this->job_model->get_all_categories(), 'id','name');
$data['job'] = $this->job_model->get_job($id);
$this->load->view('client/edit_job', $data);
public function edit_job_submit()
$this->validateRole('client');
$this->load->model('job_model');
if ( '0' != $_POST['id'] )
$this->job_model->edit_job($_POST);
else
$this->job_model->add_job($_POST);
redirect('client/manage_jobs?message=Job updated.');
虽然我的模型中有这个:
public function edit_job($obj)
$data = array
(
'title' => $post_obj['title'],
'description' => $post_obj['description'],
'start_date' => date("Y-m-d", strtotime($post_obj['start_date'])),
'category_id' => $post_obj['category_id']
);
$this->db->where('id', $id);
$this->db->update('job', $data);
【问题讨论】:
提交后是否在数据库中更新但视图中没有更新...如果是这样,我们可能需要查看您的视图/表单代码。 完全没有变化.. @kevindeleon,感谢您的回复。我已经编辑了我的问题。我发布了查看代码.. 【参考方案1】:我认为您的问题在于:redirect('client/manage_jobs?message=Job updated.'); 而是使用类似 $this->load->view('success');
创建一个名为成功的视图并写一条消息说成功。放在更新/插入函数之后
希望对你有帮助
【讨论】:
类似这样的一系列事情..严重性:通知消息:未定义变量:post_obj 文件名:models/job_model.php 行号:31 使用前先将$post_obj的值初始化为null或者使用这个:$post_obj = array(); foreach($query_result->result() as $row) $post_obj [] = $row; //var_dump($post_obj );返回 $post_obj ; 同样的错误? jst var_dump $post_obj 并查看输出是什么...如果可能,请发布 $post_obj $data = array ('title' => $post_obj['title'], 'description' => $post_obj['description'], 'start_date' => date("Ymd", strtotime($post_obj['start_date'])), 'category_id' => $post_obj['category_id'] ); 试试这个:控制器:$this->job_model->edit_job();模型:public function edit_job() $data = array ( 'title' => $_POST['title'], 'description' => $_POST['description'], 'start_date' => date("Ymd", strtotime($post_obj['start_date'])), 'category_id' => $_POST['category_id'] );【参考方案2】:我必须添加 $id = $obj['id'];更新试图编辑的特定条目
【讨论】:
以上是关于编辑表单正确回显之前保存的数据,但不更新表单字段的主要内容,如果未能解决你的问题,请参考以下文章