2015-06-22 39 views
0

我想只是在我的窗體加載錯誤消息,但現在它加載我的表單頁4次,有人知道我做錯了什麼?我只是想加載跨度:ajax窗體爲加載特定格

<span class="text-danger">

控制器:

<?php 
/* 
* File Name: user.php 
*/ 


if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class User extends CI_Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->library('session'); 
     $this->load->helper('form'); 
     $this->load->helper('url'); 
     $this->load->database(); 
     $this->load->library('form_validation'); 
     //load the user model 
     $this->load->model('User_model'); 
    } 

    //index function 
    function index() 
    { 

     //fetch data from country table 
     $data['country'] = $this->User_model->get_country(); 


     //set validation rules 
     $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email'); 
     $this->form_validation->set_rules ('passconf', 'Password Confirmation', 'trim|required'); 




     if ($this->form_validation->run() == FALSE) 
     { 
      //fail validation 
      $this->load->view('user_view2', $data); 
     } 
     else 
     {  
      //pass validation 
      $data = array(
       'user_email' => $this->input->post('email'), 
       'Password' => $this->input->post('passconf'), 
       //encrypting pass on database. 
       'Password' => password_hash('passconf', PASSWORD_BCRYPT), 

      ); 

      //insert the form data into database 
      $this->db->insert('test', $data); 

      //display success message 
      $this->session->set_flashdata('msg', '<div class="alert alert-success text-center">You Are Now Registered</div>'); 
      redirect('user/index'); 
     } 

    } 

    //custom validation function for dropdown input 
    function combo_check($str) 
    { 
     if ($str == '-SELECT-') 
     { 
      $this->form_validation->set_message('combo_check', 'Invalid %s you need pick one'); 
      return FALSE; 
     } 
     else 
     { 
      return TRUE; 
     } 
    } 

    //custom validation function to accept only alpha and space input 
    function alpha_only_space($str) 
    { 
     if (!preg_match("/^([-a-z ])+$/i", $str)) 
     { 
      $this->form_validation->set_message('alpha_only_space', 'The %s field must contain only alphabets or spaces'); 
      return FALSE; 
     } 
     else 
     { 
      return TRUE; 
     } 
    } 
} 
?> 

user_view.php

<?php 
     $attributes = array("class" => "form-horizontal", "id" => "userform", "name" => "userform"); 
     echo form_open("user/index", $attributes);?> 

     <div class="form-group"> 
     <div class="row colbox"> 
     <div class="col-lg-4 col-sm-4"> 
      <label for="email" class="control-label">Email address</label> 
     </div> 
     <div class="col-lg-8 col-sm-8"> 
      <input id="email" name="email" placeholder="type your email here" type="text" class="form-control" value="<?php echo set_value('email'); ?>" /> 
      <span class="text-danger"><?php echo form_error('email'); ?></span> 
     </div> 
     </div> 
     </div> 

    <div class="form-group"> 
       <div class="row colbox"> 
       <div class="col-lg-4 col-sm-4"> 
        <label for="passconf" class="control-label">Password</label> 
       </div> 
       <div class="col-lg-8 col-sm-8"> 
        <input id="passconf" name="passconf" placeholder="your password" type="password" class="form-control" value="<?php echo set_value('passconf'); ?>" /> 
        <span class="text-danger"><?php echo form_error('passconf'); ?></span> 
       </div> 
       </div> 

</div> 
<div class="form-group"> 
     <div class="col-sm-offset-4 col-lg-8 col-sm-8 text-left"> 
      <input id="btn_add" name="btn_add" type="submit" class="btn btn-primary" value="Insert" /> 
      <input id="btn_cancel" name="btn_cancel" type="reset" class="btn btn-danger" value="Cancel" /> 
     </div> 
     </div> 

<?php echo form_close(); ?> 
<?php echo $this->session->flashdata('msg'); ?> 

jQuery代碼

var frm = $('#userform'); 
    frm.submit(function (ev) { 
     $.ajax({ 
      type: frm.attr('method'), 
      url: frm.attr('action'), 
      //data: $('#myform').serialize(), 
      success: function (data) { 
       $(".text-danger").html(data); 
      } 
     }); 

     ev.preventDefault(); 
    }); 
+0

請粘貼您的完整代碼,包括您的表單所在的腳本和完整的表單。 – taxicala

+0

我編輯我的問題,謝謝。 – Raduken

回答

-1

如果您不想將表單發送回服務器,會將表單發回服務器,除了您的ajax調用,您需要在ev.preventDefault();之後添加return false;

+0

我想這將是很好的解釋爲什麼這是投下來否則一個不能學習 –