0

私はこのコードを持っています:

var is_recorded_book; 
function callback(data){

  is_recorded_book = data.result
  alert(is_recorded_book)

}

function check_book(){
  Dajaxice.darkoob.migration.is_book(callback, {'book_title': $('#id_book_title').val() })
  alert ("check book" +is_recorded_book);
  if (is_recorded_book){
    return true;
  }else{
    return false;
  }
}
</script>

a は次のような形式です。

        <form action="..." method='...' onsubmit='return check_book()'>
...
          <input type='submit' />

しかし、私の出力は次のとおりです。アラート (is_recorded_book)

しかし、私alert(is_recorded_book)は最初に実行したい。

check_book 関数を次のように編集します。

function check_book(){
    Dajaxice.darkoob.migration.is_book(function(data){
    callback(data);
    alert('dfsdf')
    if (is_recorded_book){
      return true;
    }else{
      return false;
    }
  }, {'book_title': $('#id_book_title').val() })
}

ただし、alert('dfsdf') は機能しません。

4

2 に答える 2

2

コールバック内でアラートを実行する必要があります。

Dajaxice.darkoob.migration.is_book(function (data) {
    callback(data);
    alert("check book" +is_recorded_book);
}, {'book_title': $('#id_book_title').val() });
于 2013-06-04T13:32:50.140 に答える