2016-11-03 1 views
0

投稿した電子メールが確認されなかった場合(ステータス= 1)、user_driverテーブルに挿入できなかった場合は、emailを送信し、条件があります。私が達成したいのは、ユーザーがメールフィールドを入力した後にaddボタンをクリックしたときに "あなたのメールを確認してください"のようなエラーメッセージを表示するにはどうすればいいですか?私はコントローラに入力ポストを送信するためにjqueryを使用しており、私のフォームはmodalブートストラップの中にあります。要件が満たされていなくても(email_verified = 1)、reloadのページであっても、successの機能に当たります。だから、私は少しエラーメッセージを表示する方法を混同しています。codeigniterで表示するエラーメッセージを送信する

マイビュー:

function add_driver() 
 
{ 
 
    user_email = $("#user_email").val(); 
 
    $.ajax 
 
    ({ 
 
      url : site_url+'portal/add_driver', 
 
      type: "POST", 
 
      //dataType: "json", 
 
      data:{user_email: user_email}, 
 
      success: function(data) 
 
      {  
 
       $("#add_driver_modal").modal("hide"); 
 
       location.reload(); 
 
      }, 
 
      error: function (jqXHR, textStatus, errorThrown) 
 
      { 
 
       alert('Email already registered'); 
 
       location.reload(); 
 
      } 
 
    }); 
 
};
<div class="modal fade" id="add_driver_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
 
      <div class="modal-dialog modal-lg" role="document"> 
 
      <div class="modal-content"> 
 
       <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
       <h4 class="modal-title" id="myModalLabel">ADD DRIVER</h4> 
 
       </div> 
 
       <div class="modal-body" id='add'> 
 
       <div class="row" id="add_driver_form"> 
 
       
 
        <input type="hidden" name="user_id" id="user_id" /> 
 

 
        <div class="col-sm-4"> 
 
        <input type="text" class="form-control input-lg" autocomplete="off" id="user_email" name="user_email" placeholder="Email" required> 
 
        </div> 
 
        
 
       </div> 
 
       </div> 
 
       <div class="modal-footer"> 
 
       <button type="submit" class="btn btn-default" data-dismiss="modal">Close</button> 
 
       <button id="add" type="button" class="btn btn-primary btn-md" onclick=add_driver()>Add</button> 
 
       </div> 
 
      </div> 
 
      <div id="form_submit_result"></div> 
 
      </div> 
 
     </div>

マイコントローラ:

public function add_driver() 
{ 
    $user_email = $this->input->post('user_email'); 

    $array = array(
     'user_email' => $user_email, 
     'email_verified' => 1, 
     'phone_verified' => 1 
     ); 

    $this->db->select('*'); 
    $this->db->where($array); 
    $this->db->from('user'); 
    $query = $this->db->get(); 
    $result = $query->row_array(); 
    $match_id = $result['user_id']; 
    $match_email = $result['user_email']; 

    if(!is_null($result)) 
    { 
     $data_user_driver = array(
      'user_id' => $match_id, 
      'user_email' => $match_email 
      ); 
     $this->db->insert('user_driver',$data_user_driver); 
    } 
} 

答えて

0

あなたが好きmodal-bodyの内側にあなたのモーダルでpのタグを追加することができ

.... 
<div class="modal-body" id='add'> 
<p style="display:none;" id="error" class="alert alert-danger"></p> 
... 

... 
if(!is_null($result)){ 
     $data_user_driver = array(
      'user_id' => $match_id, 
      'user_email' => $match_email 
      ); 
     $this->db->insert('user_driver',$data_user_driver); 
    } else {//if email not verified 
     echo 'err'; 
    } 
.... 

のような(add_driver方法で)見つかりませ結果が今すぐあなたのアヤックスでは、この結果を確認success

.... 
success: function(data){ 
     if(data == 'err'){ 
      $('#error').show().text('Please verify your email'); 
      return false; 
     } 
     $('#error').hide();  
     $("#add_driver_modal").modal("hide"); 
     location.reload(); 
}, 
.... 
+1

は考えたことがない場合elseブロックを追加し、任意のメッセージを送りますそれ。どうもありがとう ! :) – may

関連する問題