2016-09-22 4 views
0

私はajaxの戻り値を取得したいと思います。私のコードが値falseまたはtrueを返さないように助けてください。ajaxで関数に値を渡す方法

私は()validateDateを呼び出すと

<script type="text/javascript"> 
    $(document).ready(function(){ 

    function validateDate(date) { 

    return $.ajax({ 
      type: "POST", 
      url: "<?php echo base_url(); ?>activate/checkdate", 
      data: "Date_of_Birth="+date, 
      success: function(msg){ 
       if(msg=="false"){ 
         return false; 
       } 
       else{ 
         return false; 
       } 
      } 
     }); 
    } 

function validatesa() { 
    var date = $("#Datepicker").val(); 
    if (validateDate(date)) { 
     return true; 
     } else { 
     sweetAlert(date , "is not a valid date YYYY-MM-DD", "error"); 
    return false; 
     } 
    } 
    }else { 
     sweetAlert(date , "is not a valid date YYYY-MM-DD", "error"); 
     return false; 
     } 
    } 
    $("form").bind("submit", validatesa); 

}); 

</script> 

答えて

0

AJAX存在するAJAX、このスクリプトの検証に2つの機能を()持っているので許されない返す非同期プロセスです。あなたの場合は、あなたのajaxリクエストオプションにasync : falseを使用する必要があります。広告はリターン変数を使用する必要があります。だからあなたの関数コードはすべきです。

function validateDate(date) { 
    var response=""; 
    $.ajax({ 
     type: "POST", 
     url: "<?php echo base_url(); ?>activate/checkdate", 
     async: false, 
     data: { 
      Date_of_Birth: date 
     }, 
     success: function(msg) { 
      if (msg == "false") { 
       response = false; 
      } else { 
       response = true; 
      } 
     } 
    }); 
    return response; 
} 
0

ありがとうございます。それは多くの助けになります。コメントありがとうございましたスクリプトの一部の変更

function validateDate(date) { 
    var response=""; // i assign as empty first since ajax success dont have value yet 
    $.ajax({ 
    type: "POST", 
    url: "<?php echo base_url(); ?>activate/checkdate", 
    async: false, 
    data: { 
     Date_of_Birth: date 
    }, 
    success: function(msg) { 
     if (msg == "false") { 
      response = false; // assign false to response variable since false is the output. 
     } else { 
      response = true; 
     } 
     } 
    }); 
    return response; 
} 
関連する問題