3.9 KiB
3.9 KiB
title | author | date | url | wordtwit_post_info | categories | ||
---|---|---|---|---|---|---|---|
フォームの中のテキストボックスでエンターキーを押したときの挙動を変更する | kazu634 | 2009-08-02 | /2009/08/02/_1312/ |
|
|
前回に詰まったと書いたフォームのテキストボックスでエンターキーを押すと自分自身にデータを送信する件ですが、検索するとピンポイントで書いているページを発見しました!ラッキー
Formに書いた内容をAjax送信する時には、「Enterキー」で自動送信されてしまうのを避ける必要があります。
Ajaxでの送信は、submitボタンを使わずに、onclickやonkeyupなどへXMLHttpRequestのopen()やsend()を仕込んで、送信するわけですが、「Enterキー」を押してしまうと、ブラウザが気を利かせて、submitボタンを押されたのと同じ動作をしてしまうからです。
でも、当然、Ajaxでは、普通は、action属性は設定されていませんので、何もしてくれません。IEですと、Ajax送信はされずに、リロードされてしまいます。
てなわけで、たとえば、
というわけで、フォームタグの部分に「onsubmit=”return false”」を指定しました。