1

タイトルが「jQuery / Javascript undefined」と名付けられているのは、jQuery が言語であると想定しているからではなく、jQuery が JavaScript 言語のライブラリであることは知っています。タイトルに書いた理由は、コードのどこが悪いのかわからないからです。

さて、質問に戻りますが、次のコードを見てください。未定義の値が返されます

//username validation
function username_val(){
    username_value = $("input[name='username']").val();
    span_error = "span[name='username_error']";
    $(span_error).load('ajax_signup_username', {php_username_error:username_value},  function(){
        return true;
    });
}

これを警告すると、「未定義」が返されます。代わりに true が返されると想定しました。

function final_val(){
        alert( username_val() );
}

編集:一部の皆さんは、成功パラメーターでのみ true を返すことができると言いましたが、検証のためにこれが必要なので、すべての検証メソッドが true の場合、final_val で true が返されます。ポイントは、final_val() で真の値が必要だったということです。または、それを検証する他の方法がある場合は教えてください。注:急いでいるので、あなたの答えを誤解していたら、私を許してください。私は数時間留守にし、それまであなたの回答を確認します。

ありがとう!

4

1 に答える 1

2

alert( username_val() );成功内関数を作成する必要があります。非同期メソッドと同様に、すぐに呼び出す.load()ことはできません。return trueだからあなたはこれを試すことができます:

 $(span_error).load('ajax_signup_username', {php_username_error:username_value},  function(){
     alert('Something');
     var response = true;
     final_val(response);
 });

 function final_val(response){
     alert( response);
 }

これがドコです

于 2012-05-25T10:18:30.203 に答える