我想在CodeIgniter应用程序中使用jQuery提交表单。但是,在控制器中调用的函数始终希望将用户发送到一个不存在的页面(与控制器功能名称相同的页面)。
我已经尝试了以下方法:
$('#contactForm').submit(function () {
});
And this:
$('#contactForm').submit(function () {
dataString = $("#contactForm").serialize();
$.ajax({
type:"POST",
url:"<?php echo base_url(); ?>about/contactSubmit",
data:dataString,
success:function (data) {
alert('test');
}
});
return false; //stop the actual form post !important!
});
public function contactSubmit()
{
$this->load->model('customer_model');
$this->customer_model->addCustomer();
}
所以它在 Model 中调用一个 addCustomer 函数,将信息添加到数据库中。所有这一切都很好运作。但是然后它试图打开一个不存在的“customerSubmit”页面,我想避免这种情况。我只想让它保持在同一页上,该页具有一个 jQuery 函数,告诉用户表单已被成功提交。
那么我该怎么做呢?
编辑:
从我能找到的每个主题的教程来看,不被控制器函数 contactSubmit 发送到新页面的关键是在 submit jQuery 函数中返回 false,但是......当我包括它时,控制器函数根本不被调用。这意味着只有第一种选择才真正调用控制器函数(即没有 return false 的.submit)。
所以我在这里做错了什么?如果我应该使用提交传递数据到数据库,但是“return false”阻止了它实际调用 Controller 中的函数怎么办?
编辑2: 找到答案,请查看我的评论 Christophs post!