2012-04-04 7 views

答えて

2
s_return=msg; 

は、非同期機能の内部にあります。サーバーが応答したときに設定されます。

this.value=s_return; 

は、リクエストが発生した直後に実行されます。したがって、s_returnはまだ設定されていません。

あなたはこのようにそれを実行する必要があります。

$('.codeinput').change(function() { 
    var that = this; 
    var s_return="";   
    var to_check=this.value ; 

    $.ajax({ 

     type: "POST", 
     url: "check.php", 
     data: "code="+to_check 

    }).done(function(msg) { 
     that.value=msg; 
    }); 

}); 
1

AJAX呼び出しは非同期で実行されます。これを実行するとs_return=msg;の前にthis.value=s_return;が実行されることがわかるので、this.value=s_return;の割り当てを行うとs_returnはまだ空です。

関連する問題