WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:textboxでEnterを押すと画面が再表示される現象

0:[投稿] aaa [2003/01/16 18:06 ][環境:IE5.5 PHP UNIX]

テキストボックスにカーソルが当たっている状態でEnterを押すと
画面が再表示されてしまうという現象が起きます。

まだ再現法則が分かっていない状態なのですが、似たような現象が起こった方いらっしゃいましたら
原因等を教えていただきたいのですが。

// 再現ソース
/**************************************************************/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>TEST</title>
</head>
<body>
<form name="form1">
<center>
<p>
<input type="radio" name="radio1">ラジオ1
<input type="radio" name="radio1">ラジオ2
<input type="radio" name="radio1">ラジオ3
<br>
<input maxlength="8" size="12" type="text"  name="text1">
</p>
</center>
</form>
</body>
</html>
/**************************************************************/

サーバー側に上記ソースをおいて、
text1にカーソルを合わせEnterを押すと再表示されます。

ちなみに
<input maxlength="8" size="12" type="text"  name="text1">
の下に
<input maxlength="8" size="12" type="text"  name="text2">
を作成すると、両方のtextボックスにおいてEnter押下後は再表示されません。


よろしくお願いします。


1:[回答] gun [2003/01/17 09:30 ]

"テキストボックス上でエンターを押すと、
フォーム(<form>)がサブミットされる仕様になっているらしい"
という文面をどこかで見かけたことがあります。
多分、テキストボックスが1コの場合のみ、このような動作に
なるのでしょう。

これを踏まえて今回の現象を説明すると、
    <form>にaction(次のページ)が指定されていないため、暗黙のうちに
    表示中のページがactionに設定されて、サブミット動作が再表示に見える
ということでしょう。


2:[回答] Malic [2003/01/17 09:53 ]

<html>
<head><title>テストサブミット</title>
<script language="javascript">
<!--
function testsubmit(){
document.testform.submit();
}
//-->
</script>
</head>
<body>
<form name="testform" method="get" onSubmit="return(false);">
<input type="text" name="aa">
<input type="button" value="testsubmit" onClick="testsubmit();">
</form>
</body>
</html>
以上のように、
onSubmit="return(false);" を付けて、送信はスクリプトで実行してこの現象を回避したことがあります。


3:[完了] aaa [2003/01/17 17:52 ]

なるほど。
そんな仕様があるのですね。
確かにテキストボックスでEnterを押してsubmit処理が出来たら、tabでボタンに移動しない分楽ですよね。

Malicさんの方法によって回避したいと思います。

どうもありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World