プロが教える店舗&オフィスのセキュリティ対策術

ユーザーリクエストを受付けるHTMLフォームに
例えばテキストボックスがいくつかあって送信ボタンをクリックするとCGIにパラメータが送信されるという時に、テキストボックスの1つめにデータを入れた後、2つめ以降まだ入力してないのにEnterキーを思わず押してしまって送信されることってありますよね。
Enterキーを押しても送信されないようにすることって出来るのですか。よく、空白のテキストボックスが残っていると、「○○を入力してもう一度送信ボタンをクリックしてください」というエラーメッセージを表示して戻す。という手がありますが、テキストボックスが空白でも、データ送信はできる様にしたいのです。そうするとEnterキーを殺すしか方法が思いつかないのですが・・・

A 回答 (1件)

Enterキーの押し間違いによる誤送信を防ぐためには、通常JavaScriptによってフォームの送信ボタンがクリックされない限り送信されないように設定いたします。


(それが一番簡単だと思いますが・・ )


○Enterキー誤操作による送信を禁止

<FORM> タグに onsubmit="return false;"を追加する。

(例)<FORM action="/cgi-common/fmail.cgi" method="get" enctype="multipart/form-data" onsubmit="return false;">


○送信ボタンの属性を設定

送信ボタンの<INPUT>タグのタイプ属性をbottonに変更してクリックしたときのみ送信されるように、onclick="submit();"を追加します。

(例)<input type="botton" name="send" value="送信" onclick="submit();">

以上の2点を合わせて試してみてください。
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございます。
早速試してみます。

お礼日時:2004/02/16 09:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!