フォームでENTERKEYを無効にするには?
[上に]
[前に]
[次に]
みよっち
2000/05/19(金) 00:24:54
フォームで入力している時にENTERを押下すると
そのまま送信されてしまうのですが、
送信はあくまでも送信ボタンを押した時だけにしたいのですが
どのようにしたらよろしいでしょうか?
R.M
[E-Mail]
2000/05/19(金) 08:15:03
http://super.fureai.or.jp/~jrm/sand/tech/web/javascript_temp/cansubmit.html
JavaScriptを使って……
Fuji.♪
[E-Mail]
[HomePage]
2000/05/19(金) 11:40:48
IEを使わずにMozillaやLynxやw3mや...を使うとか。
IEでもJavaScriptをoffにしてたら結局Enterでsubmit押せちゃいますから。
あとは、input type="text"を使わずにtextareaを使うとか。(Enter押しても改行されるだけ)
バギンズ
[E-Mail]
[HomePage]
2000/05/19(金) 17:10:10
>Fuji.♪ さん
>IEでもJavaScriptをoffにしてたら結局Enterでsubmit押せちゃいますから。
逆じゃないでしょうか?
R.Mさんの方法はJavaScriptをoffにしてると送信できない様になって
いるみたいですけど...
(Fuji.♪ さんが見た後で書き換えられていたら別ですが...)
でも、あの方法なら、FORMのonSubmitのチェックはいらない気がします。
>みよっちさん
送信されないようにするのではなく、送信されたら一旦確認画面を
出す方法とかがいいのでは?
R.M
[E-Mail]
2000/05/20(土) 04:51:00
Fuji.♪ さんの言われるとおりです
あのスクリプトはEnterボタンでのSubmitをonSubmitの処理で中止します
onSubmitの処理がないと意味がありません
バギンズ
2000/05/20(土) 14:38:36
>R.Mさん
ノースクリプトで INPUT TYPE=SUBMIT が無いフォームで送信できるって事ですか?
そりゃむりだと思うけどなー...
PET
2000/05/23(火) 17:38:02
>送信はあくまでも送信ボタンを押した時だけにしたいのですが
ボタンに名前を付け、CGIで判定する。
input type="submit" name="sousin" value="送信"
で
CGIのデコードの下辺りに
if ($FORM{'sousin'} eq "") {
print "Content-type: text/html\n\n";
print "送信ボタンを押して下さい。";
exit;
}
でいいんじゃないでしょうか。
#戻って再記入とかなる場合もあります。(笑)
Syn
[E-Mail]
2000/05/23(火) 17:58:22
過去ログ検索するといっぱい出てきますが。
> if ($FORM{'sousin'} eq "") {
Enter を押したときの動作は submit をクリックしたときの動作と
等価ですので、この処理では回避できないんじゃないかと思います。
JavaScript 使っていいなら、テキストボックスの OnKeyPress
イベントで Enter のコードだったら無視するようにすればいいの
ではないかと思います。
OnKeyPress="if (event.keyCode == 13) {event.returnValue = false;}"
ken
2000/05/28(日) 19:21:17
JavaScriptになりますが
私はこうしています
<form></form>の中に
Textboxが2つ以上あるばあい
submitボタンを普通のbuttonにして
<input type="button" ... onclick="document.form名.submit()">
に変更すればtextboxで
Enterを押してもSubmitされないはずです。
TextBoxが一つしかない場合は
<form onsubmit = "return check()" action="...">とし
JavaScriptのところで
function check()
{
return confirm("送信してもよいですか");
}
のようにして、確認ダイアログを表示すれば良いのでは
[上に]
[前に]
[次に]