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

そもそもこれ何?という人は仕様を見てみてください。

Reference