根据值输入显示表单

时间:2016-04-05 14:13:26

标签: jquery ajax codeigniter

下面的代码使用CodeIgniter jQuery Ajax方法将数据发布到控制器。点击提交后输入的值显示。我不仅要显示用户输入的值,还要将此值与数据库中的数据进行比较,如果输入的值存在于数据库中,则表单应显示如果值不存在,则表单不应显示但是应该仍然显示值。我有模型检查值,但我不知道如何在控制器中使用。

非常感谢您的帮助!

控制器

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
public function __construct()
{
    parent::__construct();

    $this->load->model('get_value');

}
class Ajax_Post_Controller extends CI_Controller {

// Show view Page
public function index(){
$this->load->view("ajax_post_view");
}

// This function call from AJAX
 public function user_data_submit() {
 $data = array(
  'username' => $this->input->post('name')

   );

echo json_encode($data);
}
}

查看

<script type="text/javascript">

// Ajax post
 $(document).ready(function() {
 $(".submit").click(function(event) {
 event.preventDefault();
 var user_name = $("input#name").val();

 jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/ajax_post_controller/user_data_submit",
dataType: 'json',
data: {name: user_name},
success: function(res) {
if (res)
{
 // Show Entered Value
jQuery("div#result").show();
jQuery("div#value").html(res.username);

 }
 }
 });
});
});
</script>
 <?php

// Form Open
echo form_open();

// Name Field
echo form_label('User Name');
$data_name = array(
'name' => 'name',
'class' => 'input_box',
'placeholder' => 'Please Enter Name',
'id' => 'name'
 );
echo form_input($data_name);
echo "<br>";

?>
  </div>
  <div id="form_button">
   <?php echo form_submit('submit', 'Submit', "class='submit'"); ?>
  </div>
   <?php
  // Form Close
  echo form_close(); ?>

模型

 function get_search_form() {
 $match = $this->input->post('name');
$this->db->where('name',$match);
$query = $this->db->get('transaction');
return $query->result();

1 个答案:

答案 0 :(得分:0)

使用$this->load->model('get_value')加载模型后 您可以使用指代您的模型的this->get_value

我们假设我们有这个简单的codeigniter User模型:

class User extends CI_Model{

   function __construct(){
     parent::__construct(); 
   }

   function checkUser($id){
      // here some code to check if the user exists in db
   }


   function addUser($data){
      // here some code to add users 
   }

   // ... and here other methods to do the other 'crud' operations 
}

当您在控制器中加载以前的型号时, 你可以调用它来检查用户是否存在,如下例所示:

class Home extends CI_Controller{

   function __construct(){
      parent::__construct();

      // load the user model
      $this->load->model('User');
   }

   function checkUser($id){
      // now make use of the 'User model'
      if(this->User->checkUser($id)){
         // display the appropriate message
      }

   }

}

希望这有帮助。