見出し画像

【JavaScript】window.confirm()でOK/キャンセル処理を作る

OKボタンがあるだけのalertじゃなくて、OK・キャンセルボタンのあるあれ……あれはどうやって作るんだっけ……

って、突然そう言う基本的な事忘れるよね。

window.confirm()でOK/キャンセルボタンが付いているウインドウが出せる

画像1

これは、

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の時だけ処理が始まるようにする方がスッキリ。(早期リターンっていうよ)

参考


この記事が気に入ったらサポートをしてみませんか?