我正在创建一个基本的 CRUD。除了表格重新填充外,一切正常。这是我在做什么的详细信息。
我正在显示所有员工的列表。有一些链接添加新的。并与每个员工一起编辑和删除。现在在 Add New 或 Edit 我填充 jquery Colorbox 并在其中加载我的表单。这是点击我的控制器方法的链接。
<a
href="<?php echo site_url('employees/form/'.$employee['id']);?>"
id="popUpEditFormTrigger"
return="<?php echo site_url('employees/entries'); ?>"
>Add New</a>
正如您在此处看到的,我正在使用控制器方法来加载表单。这工作正常。在彩盒 form.js 中,这里有一些代码。
var dataString = $('#updateForm').serialize();
var url = $('#updateForm').attr('url');
$.ajax({
type: "POST",
url: url,
data: dataString,
success: function() {
$.fn.colorbox.close();
}
});
return false;
当 ajax 成功时,它会关闭颜色框。return false 防止列表视图走得更远,然后
return="<?php echo site_url('employees/entries'); ?>"
运行并刷新表中的条目。
控制器
public function submit()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('name',' Employee Name'.'trim|required');
$this->form_validation->set_rules('salary',' Salary'.'trim|required');
$this->form_validation->set_rules('description',' Description'.'trim|required');
if($this->form_validation->run()){
$data['name'] = $post['name'];
$data['salary'] = $post['salary'];
$data['description'] = $post['description'];
$result = $this->employeesModel->insertEmployee($data);
}else{
$this->load->view('employee_form');
}
}
问题 :
问题是我想在颜色框中重新填充表单,以便我可以显示用户验证错误。但无论是否执行插入或验证失败,颜色框总是关闭。如果验证失败,我想在颜色框中再次填充表单并防止超链接属性返回到 site_url('employees/entries')。我怎样才能做到这一点?我确信 JQuery 可以处理这个,但我不知道如何。需要的建议。