2012-01-25 22 views
0

以下、私はJson関数とそれが取得するいくつかのPHPコードを持っています。私はmyClickHandler()関数に何かを追加する必要があります

JavaScriptコード:

function postback(){ 
    if(validation()){ 
     $.getJSON(
      {"room_no":$("#room").val()}, 
      function(json){ 
       $("#roomAlert").html(json.msg) 
     }); 
    } 
} 

PHPコードは:

if (isset($_POST['prequestion'])) { 
    $roomquery = " 
       SELECT Room 
       FROM Room 
       WHERE 
       (Room = '".mysql_real_escape_string($roomChosen)."') 
       "; 

    $roomnum = mysql_num_rows($roomresult = mysql_query($roomquery)); 
    mysql_close(); 

    if($roomnum ==0){ 
     $msg = "This Room is Invalid"; 
    } else { 

     $msg = ""; 
    } 

    $d = array("msg" => $msg); 
echo json_encode($d); 

} 



?> 

私の質問は、私はmyClickHandler()関数を持っていることは何と検証は()である場合、私は()showConfirmにそれをしたいですphp $ msg = ""の場合にpostback()関数が満たされているかどうかを調べます。検証は成立しましたが、どのようにしてpostback()要件を満たすことができますか?

function postback(callback){ 
if(validation()){ 
    $.getJSON(
     {"room_no":$("#room").val()}, 
     function(json){ 
      $("#roomAlert").html(json.msg); 
      callback(json.msg); 
    }); 
} 

}あなたはどのように慣れていない場合

function myClickHandler(){ 
    if(validation()){ 
     postback(function(message) { 
      if (message == "") 
       showConfirm(); 
     }); 
    } 
} 

:あなたはこれを実現するためにコールバックを使用する必要が

function myClickHandler(){ 
    if(validation()){ 
     showConfirm(); 
    } 
} 
+1

* "myClickHandler()を調整する必要があります" * ...あなたの質問タイトルには、いくつかの... uhhh ...アダルトコンテンツがあるように聞こえます。それについては、[craigslist](http://www.craigslist.com)をチェックしてみてください。 – rdlowrey

+0

私はそれを変更しますlol – user1170029

答えて

0

:以下

はmyClickHandler()関数ですコールバックはJavaScriptで動作し、この記事をチェックしてください:

http://recurial.com/programming/understanding-callback-functions-in-javascript/

+0

オクラホルこれをテストします。私はこれをテストする前に、$ msg = "This Room is Invalid"であればそれをshowConfirm()関数に渡すことを許可し、それはshowConfirm()に行きます。 – user1170029

+0

ああ、あなたのコールバックにメッセージを渡すことができます。私は答えを更新します。 – SoWeLie

関連する問題