【问题标题】:codeigniter form submission using ajax and display return data in a div使用ajax的codeigniter表单提交并在div中显示返回数据
【发布时间】:2014-07-22 11:57:26
【问题描述】:

我需要使用 ajax 提交表单数据并获取提交记录的自动增量 id 并将其显示在 div 上

这是我的代码

控制器

<?php
class Form_controller extends CI_controller{

function index(){
    $this->load->view('submit_form');
}
public function insert_into_db(){
$this->load->model('form_model');
$this->form_model->insertQ();  

} }

查看

<html>
<body>
    <form method="post" name="myForm1" id="myForm1" enctype="multipart/form-data" >
        Email: <input type="text" name="email" id="email">
        Question: <input type="text" name="qText" id="qText">
        <input id="submitbutton" type="submit">
    </form>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>   //no need to specify the language
        $(function(){
         $("#submitbutton").click(function(e){  // passing down the event 

           $.ajax({
              url:"<?php echo site_url('form_controller/insert_into_db'); ?>",
              type: 'POST',
              data: $("#myForm1").serialize(),
              success: function(){
                  alert("success");
                  $('#email').val('');
                  $('#qText').val('');
              },
              error: function(){
                  alert("Fail")
              }
          });
          e.preventDefault(); // could also use: return false;
        });
       });
    </script>   
</body>
</html>

型号

<?php

 class Form_model extends CI_Model{

function insertQ(){
$email = $this->input->post('email');
$qText = $this->input->post('qText');
$this->db->insert('questions', array('email' =>$email, 'text' => $text));

} }

我已经尝试了几次,但无法修复它,我是 codeigniter 以及 ajax 的新手

【问题讨论】:

  • @Debflav 我找不到你。您可以为变量使用任何名称

标签: javascript php jquery ajax codeigniter


【解决方案1】:

你做错了。您在模型函数中而不是在控制器函数中获取后变量。

之后,你的控制器功能将是这样的:

<?php
class Form_controller extends CI_controller{

function index(){
    $this->load->view('submit_form');
}
public function insert_into_db(){
$this->load->model('form_model');
$this->form_model->insertQ($this->input->post('email'),$this->input->post('qText'))); 

你的模型函数将是:

<?php

     class Form_model extends CI_Model{

    function insertQ($email, $qtext){
    $this->db->insert('questions', array('email' =>$email, 'text' => $text));
}

【讨论】:

  • 不,我可以访问从表单发送的数据
猜你喜欢
  • 2017-09-10
  • 2017-12-25
  • 2015-09-21
  • 2013-10-01
  • 2011-05-12
  • 1970-01-01
  • 2017-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多