ENTERキーを無効にするには?

[上に] [前に] [次に]
BOO 2000/02/23(水) 17:25:17
HTML上に、TYPE=TEXTの入力項目が一つしか無い時に、そこにカーソルが位置付いていると、ENTERキー押下でフォームが送信されてしまうのは何故でしょうか?
入力項目が複数ある場合は送信されません。
ENTERキーは無効にして、あくまでもHTML上の送信ボタンの押下で送信させたいのです。
NN4.0以上です。

武蔵小杉 [E-Mail] 2000/02/23(水) 18:19:51
通りがかりの者ですが、同じような問題で悩んでいます。(やや違う問題かもしれませんが)。

私の場合、CGIを利用した応募フォームにTYPE="text"が複数とTEXTAREA

sekita [E-Mail] 2000/02/23(水) 18:21:49
これが参考になるかも
<a href="http://prettycat.virtualave.net/javascript/java04.html">http://prettycat.virtualave.net/javascript/java04.html</a>

武蔵小杉 [E-Mail] 2000/02/23(水) 18:33:32
すみません。上から2つ目のメール失敗しました。
再度書きます。
私の場合、CGIを利用した応募フォームに、TYPE="text"が複数とTEXTAREAがひとつあるのですが、enterキーやreturnキーで送信されてしまうようです。
具体的には、日本語変換中などに誤ってenterキーやreturnキーを余計に押してしまうと、送信されます。そのため、書きかけのメールが何通も届いて
しまい、困っています。
「送信」ボタンを押さない限り送信されないようにするには、どうすればいいのでしょうか。
ぜひご教授下さいませ。よろしくお願いします。

チャペル 2000/02/23(水) 18:37:14
onkeydown時に以下を呼び出してみてはどうでしょう?
if(event.keyCode == 13){event.returnValue = false;}

チャペル 2000/02/23(水) 18:37:38
onkeydown時に以下を呼び出してみてはどうでしょう?
if(event.keyCode == 13){event.returnValue = false;}

チャペル 2000/02/23(水) 18:40:14
またやってしまった。(二重送信)
すいません。

武蔵小杉 2000/03/01(水) 13:31:22
お返事遅くてごめんなさい。
チャペルさんありがとうございます。でも初心者なのでよくわかりません...。CGIのどの部分が「onkeydown時」なのでしょうか?
その後、色々調べてみたところ、ネスケだとENTERキーを押しても送信されることはないようです。しかしIEだと送信されてしまうのです。

フシギダネ 2000/03/01(水) 13:44:48
<FORM ...... onFocus="return チェック関数()">

チェック関数でNGならfalse、OKならtrueをリターンする。

どうでしょう?

チャペル 2000/03/01(水) 13:52:22
<input onkeydown="if(〜">
<textarea onkeydown="if(〜">
で良いかと思われます。(^^)

MAI 2000/03/01(水) 15:04:13
こんにちは、通りすがりのMAIと申します。
私も過去にIEで同じようなことに悩んだのですが、
TEXTを含むフォームタグを

<form name = (フォーム名) onSubmit = 'return false;'>

と書くことで対処した覚えがあります。
どうでしょうか?

#VBScriptを使うとどう書けるのかわかりません。
#使ったことがないので…(__)

BOO 2000/03/23(木) 17:34:17
[[解決]]
武蔵小杉さん、sekitaさん、チャペルさん、フシギダネさん、MAIさん、ありがとうございました。
MAIさんの方法で解決しました。ちょっと感動です。
本当にありがとうございました。

[上に] [前に] [次に]