- 締切済み
Javascriptでconfirmの戻り値を取得したい
こんにちは。 Javascriptで独自confirmを表示し「はい・いいえ」で、後の処理を実行させたいのですが、無限ループに陥ってブラウザでscriptを停止するよう求められてしまいます。 var bb = dojoDialogConfirm("ログアウトしてよろしいですか?"); while(true) { inv = setInterval("", 1000); if (bb && bb == true) { window.location = 'logout.action'; clearInterval(inv); break; } else if (bb = false) { clearInterval(inv); break; } } window.confirmのようにJavascriptは待たないので、bbの戻り値(true or false)を取得する前にScriptは走り、bbにtrue falseどちらかが、入力された時点で処理を実行させているつもりなのですが。 どこが悪いのでしょうか?よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
補足
ありがとうございます。 こんな感じになるのでしょうか? callbackfunctionにすると、インスタンスを再取得しなければいけない為、何とか同期を取りたいのですが・・。 var ret = null; function dojoDialogConfirm(_msg) { if (ret) { window.location = 'logout.action'; clearInterval(ret); ret = null; } else if(ret == "false") { clearInterval(ret); ret = null; } else { 画面.show(); setInterval(dojoDialogConfirm("ログアウトしてよろしいですか?"), 1000) } } dojoDialogConfirm_onClick(val) { // val = true or false ret = val; }