为了账号安全,请及时绑定邮箱和手机立即绑定

CodeIgniter的ajax数据插入问题

CodeIgniter的ajax数据插入问题

PHP
POPMUISE 2023-11-03 20:18:29
我一直在尝试通过 CodeIgniter Controller 将数据插入数据库。我已经进行了验证过程并通过 ajax 响应接收验证错误。但似乎在表单中所有字段都已填写,之后如果我单击任何输入字段,甚至无需单击表单中的“保存”或“提交”按钮,就会插入数据。因此,如果我按“名称”字段、“颜色”字段或“价格”字段,则会插入数据,而无需按“保存汽车”按钮。**我的控制器:CarModel.php **<?phpclass CarModel extends CI_Controller{    public function index()    {        $this->load->view('car_model/list.php');    }    public function showCreateForm()    {        $html = $this->load->view('car_model/create', '', true);        $response['html'] = $html;        echo json_encode($response);    }    public function saveModel()    {        $this->load->model('Car_model');        $this->load->library('form_validation');        $this->form_validation->set_rules('name', 'Name', 'required');        $this->form_validation->set_rules('color', 'Color', 'required');        $this->form_validation->set_rules('price', 'Price', 'required');        if ($this->form_validation->run() == true) {            //save enteries to DB            $formArray = array();            $formArray['name'] = $this->input->post('name');            $formArray['color'] = $this->input->post('color');            $formArray['transmission'] = $this->input->post('transmission');            $formArray['price'] = $this->input->post('price');            $formArray['created_at'] = date('Y-m-d H:i:s');            $this->Car_model->create($formArray);            $response['status'] = 1;        } else {            $response['status'] = 0;            $response['name'] = strip_tags(form_error('name'));            $response['color'] = strip_tags(form_error('color'));            $response['price'] = strip_tags(form_error('price'));        }        echo json_encode($response);    }}我的模型:Car_model.php<?phpclass Car_model extends CI_Model {    public function create($formArray){        $this->db->insert('car_models',$formArray);    }}
查看完整描述

2 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

尝试将 onclick 选择器更改为提交按钮 ID。



查看完整回答
反对 回复 2023-11-03
?
当年话下

TA贡献1890条经验 获得超9个赞

我已经找到问题了。发生问题是因为我将整个表单设置为插入操作的事件侦听器。我需要使用submit而不是click在行中$("body").on("click", "#createCarModel", function(e) {。所以,我把它改成了$("body").on("submit", "#createCarModel", function(e) {。然后问题就不再发生了。

感谢所有试图帮助我的人。


查看完整回答
反对 回复 2023-11-03
  • 2 回答
  • 0 关注
  • 70 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信