我编写了以下 ajax 代码来验证我的表单,它实际上是一个模式窗口。但是在我再次打开表单时单击关闭或保存后,值仍然存在。以下是我的代码:
<script>
$(function() {
$("#submit_button").click(function( e ) {
e.preventDefault();
var name = $("input[name=name]").val();
var amount = $("input[name=amount]").val();
var model = $("select[name=model]").val();
var brand = $("select[name=brand]").val();
$.ajax({
type: "POST",
url: "<?=base_url()?>index.php/items/create",
cache: false,
dataType: "json",
data: 'name='+name+'&amount='+amount+'&model='+model+'&brand='+brand,
success: function(result){
if(result.error) {
$(".alert").fadeIn('slow');
$("#error_message").html(result.message);
} else {
$(".alert").fadeIn('slow');
$("#error_message").html(result.message);
$('#new_item').modal('hide')
}
}
});
});
});
</script>
这是控制器代码:
public function create()
{
//creating the required validation fields
$this->form_validation->set_rules('name', 'Name', 'trim|required');
$this->form_validation->set_rules('brand', 'Brand', 'trim|required');
$this->form_validation->set_rules('amount', 'Amount', 'trim|required|numeric');
$result = array();
if ($this->input->is_ajax_request())
{
if ($this->form_validation->run() == FALSE) {
$result['error'] = true;
$result['message'] = validation_errors();
} else {
$result['error'] = true;
$result['message'] = 'The record has been saved';
$this->m_items->create();
redirect('items/index', 'refresh');
}
$json = json_encode($result);
die($json);
}
else
{
redirect('items/index', 'refresh');
}
}
第二个问题是,在我点击保存后,在数据库中创建了条目,但没有显示任何消息,表单留在原处。然后我必须手动刷新页面并执行此操作。
有人可以足够友善并给我解决方案吗.....我会像任何人一样感激不尽!
请帮助我,因为我已经尝试修复它超过 3 个小时了!
先感谢您!