スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

暗黙のSubmitを防ぐやつ

入力用のInput要素が一つだけのForm要素内でEnterするとSubmitイベントが発生してしまう。あまりEnterキーを押さない英語圏なら本来は便利な仕様なんだろうけど、変換のためにEnterキーを多用する2バイト言語圏では誤爆送信の温床でしかないので非常に迷惑である。だからsubmitボタン発でないsubmitイベントが発生したら打ち消すことにした。

とはいえ送信するために一々Tabキーでsubmitボタンへフォーカスを移したり、マウスでsubmitボタンへカーソルの座標を合わせてクリックするのも億劫なので、条件によってはEnterキーで送信できるようにもしたい。よく同時押しによる機能切り替えとして使われるキーのうち、Alt+Enterは既に全画面化のイメージがあり、Shift+Enterには既に改行のイメージがあるので、今回は空いているCtrl+Enterを送信に割り当てることにした。



入力中にEnterキーを押しても送信されない。
testボタンをクリックするか、入力中にCtrl+Enterを押すとsubmitする。
おしまい

# 追記
このままだとSubmitボタンのないForm要素では送信できない状態になっていた。現在はElement#closest()を使って、keydownイベントの発生した要素がSubmitボタンを含むForm要素かどうかの判定を追加して使っている。
関連記事

コメントの投稿

非公開コメント

すポンサードリンク
最新記事
カテゴリ
DN (57)
CSS (2)
いろいろ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。