WEB相談室

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

タイトル:NNでもEnterキーでsubmit

0:[投稿] ば [2002/03/28 13:49 ][環境:WIN+OTHER UNIX系+OTHER]

質問です。
(IE6.0、NN4.75で検証)

FORM内にテキストボックスが一つあるとき、
【例1】
<html>
<head><title></title></head>
<body onload="document.form1.in1.focus();">
<form name="form1" action="ac1.cfm" method="post">
1:<input type="text" name="in1"><br>
<input type="submit" name="sub" value="OK">
</form>
</body>
</html>
-----
テキストボックスにフォーカスが当たっていてEnterが押された場合、
IE・NNともにsubmitされます。

しかし、テキストボックスが複数あるとき、
【例2】
<html>
<head><title></title></head>
<body onload="document.form1.in1.focus();">
<form name="form1" action="ac2.cfm" method="post">
1:<input type="text" name="in1"><br>
2:<input type="text" name="in2"><br>
3:<input type="text" name="in3"><br>
<input type="submit" name="sub" value="OK">
</form>
</body>
</html>
-----
テキストボックスにフォーカスが当たっていてEnterが押された場合、
IEはsubmitされますが、NNだとsubmitされません。

希望動作は、
テキストボックスにフォーカスが当たっていてEnterが押された場合、
NNでもsubmitしてほしいのです。
Javascriptで何かしらの処理を入れれば、実現可能になりますでしょうか?

「改行」「NN」等でいろいろ検索してみたのですが、
同様な過去質問に巡りあえませんでした。
ご存知の方がいらっしゃいましたら、宜しくお願いいたします。


1:[回答] sage [2002/03/28 16:01 ]

<html>
<head><title></title></head>
<body>
<script>
function test(theEvent){
  if(theEvent.which == 13){
     window.document.form1.submit();
  }
}
window.document.captureEvents(Event.KEYDOWN);
window.document.onkeydown=test;
</script>
<form name="form1" action="ac2.cfm" method="post">
1:<input type="text" name="in1" ><br>
2:<input type="text" name="in2" ><br>
3:<input type="text" name="in3" ><br>
<input type="submit" name="sub" value="OK">
</form>
</body>
</html>


2:[回答] sage [2002/03/28 16:11 ]

バージョンアップ版。

<html>
<head><title></title></head>
<body>
<script>
if(!document.getElementById){
 function test(theEvent){
   if(theEvent.which == 13){
      window.document.form1.submit();
   }
 }
 window.document.captureEvents(Event.KEYDOWN);
 window.document.onkeydown=test;
}
</script>
<form name="form1" action="ac2.cfm" method="post">
1:<input type="text" name="in1" ><br>
2:<input type="text" name="in2" ><br>
3:<input type="text" name="in3" ><br>
<input type="submit" name="sub" value="OK">
</form>
</body>
</html>


3:[完了] ば [2002/03/28 17:52 ]

sageさま、ありがとうございます!
希望通りの動作になりました!


4:[質問] ば [2002/03/28 19:03 ]

完了にしてしまいましたが、追加の質問をさせてください。

FORM内にテキストボックス複数とテキストエリアが複数あったとき、
テキストボックスにフォーカスが当たっていてEnterが押された場合はsubmitする、
テキストエリア内でEnterを押した場合はsubmitしない、
なんてことまで可能でしょうか?

宜しくお願いいたします。


5:[回答] sage [2002/03/29 09:30 ]

<html>
<head><title></title></head>
<body>
<script>
if(!document.getElementById){
 function test(theEvent){
   if(theEvent.which == 13){
      wk = theEvent.target + "";
      if(wk.match("input") == "input"){
         window.document.form1.submit();
      }
   }
 }
 window.document.captureEvents(Event.KEYDOWN);
 window.document.onkeydown=test;
}
</script>
<form name="form1" action="ac2.cfm" method="post">
1:<input type="text" name="in1"><br>
2:<textarea name="ta"></textarea><br>
2:<input type="text" name="in2" ><br>
3:<input type="text" name="in3" ><br>
<input type="submit" name="sub" value="OK">
</form>
</body>
</html>


6:[完了] ば [2002/03/29 09:40 ]

sageさま、ご回答ありがとうございます。
希望通りの動作になりました!
これからも勉強していきたいと思います。
本当に、ありがとうございました!

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World