confirm()について
確認ウィンドウを表示後に「OKしたら実行、キャンセルしたら戻る」をやりたいときに、onclickで、submit()とconfirm()を指定した場合、うまくいかなかったのでメモ。
//動く
<input type="submit" value="削除" onclick="return confirm('削除します。よろしいですか?');" />
//動かない
<button type="button" value="削除" onclick="return confirm('削除します。よろしいですか?'); document.Form_name.submit();">削除</button>
//alert()なら動く
<a href="javascript:void(0);" onclick="alert('削除します'); document.Form_name.submit();" title="削除">削除</a>
onclick="return confirm('削除します。よろしいですか?'); document.Form_name.submit();"
とすれば、期待通りの動作をしそうなものだが、実際にはOKをクリックしてもキャンセルをクリックしても何も起きない。
confirm関数の条件をif文で適切にラップすることで解決できた。
onclick="if (confirm('削除します。よろしいですか?')) { document.forms['Form_name'].submit(); }"