2009-05-16
フォームでのEnterキー押下について調べてみた
前回こんなことを書きましたが、なんとなく引っかかりがあったので調べてみたら、いろいろ間違っていたことが判明。
フォームの仕様?として、input要素で「Enterキー」を押下すると、フォームのactionで指定した先へ post または get されてしまいます。
javascriptでフォームを送信する際に気をつけること - パンプキンスパイスラテ
自分でブクマしておいて忘れていました。恥ずかしい限り。ただ、ブクマしておいて良かったとも思います*1。
これまでの認識
type="button"にしておけば、ボタンが押されてもSubmitしない ↓ テキストボックスでEnterキーを押したときもSubmitしない
この認識がそもそも間違っていました。
わかったこと
ブラウザについて
type="button"について
- テキストボックスEnter押下でSubmitされるのに、type="button"のinput要素の存在は関係ない
- テキストボックスしかないフォームでも、Enter押下でSubmitされる
他のinput要素
- チェックボックス等でも、フォーカスが合っていればEnter押下でSubmitされる
テキストボックスが複数の場合
- ブラウザにより挙動が異なる
- IE/Firefox/Opera…Enter押下してもSubmitされない
Opera/Safari/Chrome…Enter押下するとSubmitされる- type="submit"なボタンが存在すると、どのブラウザでも反応する
【※追記】ブクマコメントで指摘があり、Operaで実際に試してみたらテキストボックス複数の場合はSubmitされませんでした。すみませんです。(Opera@USB Version 9.64 + WinXP)
参考リンク
Enterキーで送信されてしまうのを防ぐ - [ホームページ作成]All About http://allabout.co.jp/internet/hpcreate/closeup/CU20080902A/
*1:自分自身で間違いに気づけたので
トラックバック - http://d.hatena.ne.jp/deeeki/20090516/formenterkey
リンク元
- 36 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=Hp2&q=Enterキー 挙動 safari&btnG=検索&lr=lang_ja
- 30 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGIH_ja&q=フォームでEnterキー
- 17 http://www.google.co.jp/search?q=フォーム エンター&hl=ja&lr=&start=10&sa=N
- 14 http://www.google.co.jp/
- 13 http://www.google.co.jp/search?q=エンターキー submit 複数 テキストボックス&btnG=検索&hl=ja&lr=lang_ja&cli
- 13 http://www.google.co.jp/search?q=テキストボックスでエンターキーが押されたときにsubmitさ
- 13 http://www.google.co.jp/search?q=ブラウザ input+エンターキー&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 12 http://www.google.co.jp/url?sa=t&rct=j&q=ブラウザ enter 挙動&source=web&cd=7&ved=0CE8QFjAG&url=http://d.hatena.ne.jp/deeeki/20090516/formenterkey&ei=HuW2TrrXHc33mAXry-S8Aw&usg=AFQjCNGWrr9E_Py
- 11 http://www.google.co.jp/search?hl=ja&q=エンター押下+submit&meta=lr=lang_ja&rlz=1W1GPTB_ja&aq=f
- 10 http://d.hatena.ne.jp



