我正在創建一個基本的CRUD。所有的工作都很好,除了表格重新填充。這是我正在做的細節。Codeigniter當服務器驗證失敗時,在JQuery Colorbox中重新填充表單
我正在顯示所有員工的列表。有一些鏈接添加新。和每個員工一起編輯和刪除。現在在添加新的或編輯我填充jQuery的Colorbox和加載我的表單。這是命中我的控制器方法的鏈接。
<a
href="<?php echo site_url('employees/form/'.$employee['id']);?>"
id="popUpEditFormTrigger"
return="<?php echo site_url('employees/entries'); ?>"
>Add New</a>
正如你可以在這裏看到我打一個控制器方法加載的形式。這工作正常。在color box 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成功時的顏色框。返回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');
}
}
問題:
的問題是,我想在重新填充顏色框形式,這樣我可以顯示用戶驗證錯誤。但是無論插入或驗證失敗,colorbox總是關閉。如果驗證失敗,我想要在colorbox中再次填充表單,並防止超鏈接屬性返回到site_url('employees/entries')。我怎樣才能做到這一點?我相信JQuery可以處理這個,但我不知道如何。建議需要。
Ajax對你很重要,因爲我使用JS來調用url,它的工作很棒 – 2013-02-16 08:50:57