【JavaScript】キャンセルボタンで確認ダイアログを表示する-普通の場合/submitの場合
フォームの入力で削除ボタンを設置するとき,確認ダイアログを表示して削除をキャンセルできるようにします。通常の場合とsubmitの場合で書き方が異なります。個人的な備忘録として。
通常の場合
<button id="deleteButton" type="button">削除</button>
<script>
const elem = document.querySelector('#deleteButton');
elem.addEventListener('click', () => {
if(!confirm('削除してもよろしいですか?')) return false;
})
</script>
通常の button
はこれでオッケーです。イベントリスナをで click
を設置して confirm
で確認ダイアログを表示します。キャンセルをクリックすると !confirm()
は true
を返すので,return false
とすることでボタンの処理をキャンセルします。
submit の場合
<form action="・・・・・・" method="POST">
<input id="itemDelete" type="submit" value="削除">
</form>
<script>
const elem = document.querySelector('#itemDelete');
elem.addEventListener('click', (event) => {
if(!confirm("削除してもよろしいですか?")) return event.preventDefault();
});
</script>
type="submit"
の場合は書き方を変える必要があります。return false
の代わりに return event.preventDefault()
を用います。
流れとしては引数に event
を渡して preventDefault()
でブラウザのデフォルトの動作(ここでは form
の action
の実行)を妨げます。単に return false
では action
を止めることはできないので preventDefault()
を用いる必要があります。
SNSでシェア