AJAX 呼び出しが完了した後に実行される JavaScript コードがあります。
req.done(function (response, textStatus, jqXHR){
if (response == " ok"){
// values are confirmed
this.s = this._s
this.e = this._e
this.assign = this._assign
this.y = roomline.snapHeight(this.assign);
console.log(response)
drawscreen()
if (confirm('Would you also like to apply a discount/credit?')){
var link = "?some_get_request"
self.location = "assignDiscount.php" + link;
}
} else {
alert(response)
}
});
confirm()
ご覧のとおり、ダイアログが表示される前に行うべきことがたくさんあります (drawscreen()
や などconsole.log
)。
問題は、このようなことが確認ダイアログの前ではなく、直後に発生することです! JavaScript コンソールに「OK」と表示されるはずですが、確認ダイアログで「キャンセル」ボタンを押した後に表示されます。これは意味がありません。ポップアップ ダイアログが表示されている間、「OK」が表示されるはずです。これはなぜですか、どうすれば解決できますか?