フォームのデフォルトボタンを回避する
Implicit form submission
最近enterキーでフォーム送信してますか?北村聡士 @satooshi_jp です。
<input type="text">
を入力している最中に、間違ってenterキーを押してしまって、フォームが送信されたことありませんか?アレを回避するJavaScriptを書きました。
Disable enter key
Githubにdisable-implicit-submit-form.jsを置いておきましたので、必要な方はどうぞー。
あえてjQueryは使ってませんし、loadイベント内でinput要素を探して、keypressイベントを取得するようにしたので、<head>
タグの中で読み込んでもいいし、</body>
の直前で読み込んでも(多分)大丈夫なはずです。自分の環境では、以下のブラウザでenterキーを押してもフォームが送信されなくなりました。
- IE7+ (Windows8 IE10でブラウザーモードを変えて確認)
- FF 18
- Chrome 24
- Opera 12.11
- Safari 6.0.2
そもそもこれ何?という人は仕様を見てみてください。