【JavaScript】window.confirm()でOK/キャンセル処理を作る
OKボタンがあるだけのalertじゃなくて、OK・キャンセルボタンのあるあれ……あれはどうやって作るんだっけ……
って、突然そう言う基本的な事忘れるよね。
window.confirm()でOK/キャンセルボタンが付いているウインドウが出せる
これは、
window.confirm("入力内容を消去します")
これだけで出ます。
戻り値はTrueかFalse。ブラウザがダイアログを拒否している場合は常にFalseが戻るそうなので、その辺考慮した処理を。
あと、モーダルウインドウ(ウインドウが出てると他の場所をクリック出来ないウインドウ)なので、あんまり出さない方がいいって。
OKなら処理をして、キャンセルなら処理を中止にする
if(!window.confirm("入力内容を消去します")){return}
これだけで完成。おわり。
……あんまり一言で終わってしまうので一応説明
if(window.confirm("入力内容を消去します"))
だけで、「window.confirmの返値がTrueなら」という意味になります。
で、「!」は否定の演算子です。「!=」で等しくないとき、とか良く使いますね。一々、
if(window.confirm("入力内容を消去します")==False)
って書かなくても、頭に一文字「!」を入れておくだけで、「以下の結果がFalse的な値なら」という評価をすることができます。
(実はちょっと取り扱いに注意が必要な評価方法なんですが、今回はbooleanしか入らないのでこれで十分でしょう)
で、
if(window.confirm("入力内容を消去します")){
// OKの時の処理が
// 長々と
// 色々
return result
}else{
return
}
って書くより、Falseの時はさっさとリターンしてしまって、Trueの時だけ処理が始まるようにする方がスッキリ。(早期リターンっていうよ)
参考
この記事が気に入ったらサポートをしてみませんか?