• ベストアンサー

テキストボックスに入力した文字がエンター(リターン)キーで全て削除されてしまいます。

テキストボックスに文字を入力し、確定のためにエンター(リターン)キーを押すと、先に入力された文字が全て削除されてしまいます。 <form name="myform" method="post"> <input type='text' name='keyword' size='46' value=""> ・ ・ ・ </form> エンター(リターン)キーを押しても上記文字が削除されることがないようにするには、 どのようにしたらよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

これだけでは分かりませんが、エンター(リターン)キーを押すとき、 [送信ボタン]にフォーカスが行っていませんか。このとき、エンターキーはこれに作用します。 <form name="myform" method="post"> に、 action="転送先URL" がないので、自分自身を呼びだしている可能性があります。その結果更新されたのでしょう。 <form name="myform" method="post"action="別の転送先URL"> としてみてください。

tfj3116
質問者

お礼

おかげさまで、解決することができました。 今後ともよろしくお願い致します。

tfj3116
質問者

補足

早速教えていただき、ありがとうございます。 あらためて確認すると、 質問時の症状は、 イベントonclickに応答してテキストボックスの内容をクリアするjavascriptの実行が行われているためでした。 そこで、エンターキーの押下を、 「上記javascriptの起動をするためのボタン」ではなく、 「実質的なサブミットボタンのクリック」として作用するようにしたいのですが、 どのように対処したらよいか分かりません。 なお、サブミットボタンは、 typeが"submit"ではなく"image"のボタンでして、 このボタンに応じて所定の処理を行った後、submitボタンとしての処理を行うようになっています。 以上、たいへん恐縮ですが、ご教示下さるようにお願い致します。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • auty
  • ベストアンサー率58% (284/486)
回答No.4

>>> このボタンをクリックすると、 >>> このクリックに対して正常な応答があり、 >>> 以後、リターンキーにも正常に応答します。 「このボタン」が     <input type="image" src="kakutei.gif" onclick="send();return false"/> だとして、先に、「このボタンをクリックすると」後は正常ということであれば、 このボタンはやめて、     <button onclick="send()"><img src="kakutei.gif" /></button> にかえてみたらどうでしょうか。[所定の処理]が行われるのではないでしょうか。

すると、全ての回答が全文表示されます。
  • auty
  • ベストアンサー率58% (284/486)
回答No.3

>>> このボタンに応じて所定の処理を行った後 [所定の処理]とは何でしょう。

tfj3116
質問者

補足

質問が舌足らずで申し訳ありません。 お手数をかけます。 所定の処理とは、 (1) 新しく開かれたウインドウの位置をmoveToによりブラウザ画面の上端部に設定し、 (2) そのウインドウのサイズをresizeToにより調整する 処理です。 この処理と症状との関連性も検討してみたのですが、 これと行った気づきを得ることはできませんでした。 さらなる切り分けのため、以下の症状を確認しましたので、 補足致します。 送信用のボタン以外のよけいなボタンを全て削除して試してみたところ、 テキストエリアに文字を入力してリターンキーを押すと、 サーパーから Method Not Allowed The requested method POST is not allowed for the URL ... とのエラーメッセージを受けますが、 このボタンをクリックすると、 このクリックに対して正常な応答があり、 以後、リターンキーにも正常に応答します。 以上、度々恐縮ですが、よろしくお願い致します。

すると、全ての回答が全文表示されます。
  • auty
  • ベストアンサー率58% (284/486)
回答No.2

以下のコードを参考にしてみてください。 ------------------------------------------------------------------------ <html> <head> <meta http-equiv="content-script-type" content="text/javascript" /> <title>radio</title> <script type="text/javascript"> <!-- function send() { // 処理を記述 var flag = confirm("送信しますか?"); if (flag) document.f1.submit(); } //--> </script> </head> <body> <form name="f1" method="post" action="別の転送先URL" > <hr /> <input type="image" src="kakutei.gif" onclick="send();return false"/> </form> </body> </html>

tfj3116
質問者

補足

早速回答いただき、ありがとうございます。 参考のコードの内容を拝見したところ、 現状では、 (1) action=以下に直接urlが記載されてないものの、 (2) 画像ボタンのonclickイベントに応じて以下のような処理をすることにより、実質的なサブミットをしている var srwin=window.open("about:blank","aaaa",); var f=document.form1; f.action=url; f.target="aaaa"; f.submit(); 点以外には、自力で本質的な違いを見いだすことができておりません。 またまた、お手数をかけることとなって恐縮ですが、 要点をかみ砕いて教えて頂きたく、よろしくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A