フォームのSubmitボタンの挙動について

このQ&Aのポイント
  • フォームのSubmitボタンの挙動について質問です。Internet Explorerでは、キーボードのEnterキーを押すとSearchButton変数が存在しないと言われますが、Operaでは問題ありません。原因は何でしょうか。
  • フォームのSubmitボタンでの問題について質問です。Internet Explorerでは、キーボードのEnterキーを押すとSearchButton変数が存在しないと言われますが、Operaでは問題ありません。原因を教えてください。
  • フォームのSubmitボタンに関する質問です。Internet ExplorerでキーボードのEnterキーを押すとSearchButton変数が存在しないというエラーが発生しますが、Operaでは問題ありません。なぜこのような差異が生じるのでしょうか。
回答を見る
  • ベストアンサー

FormのSubmitボタン

こんにちは。 <table align="center"> <form action="getdata.html" method="post"> <tr> <th>Customer Name :</th> <td><input type="text" name="CustNameEdit" value=""></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="SearchButton" value="Search"> <input type="submit" name="SearchButton" value="Show All"> </td> </tr> </form> </table> このようなフォームで、CustNameEditに文字列を入力し、Searchボタンをクリック すると、getdata.htmlでSearchButtonの値は"Search"になっているのですが、 文字列入力後、キーボードのEnterキーを押すと、getdata.htmlへは行くのですが、 SearchButton変数が存在しないと言われてしまいます。 で、この現象ですが、Internet Explorer(試したのはバージョン6.0と7.0)で 発生しますが、Operaで試してみたところ、問題ありません。 何か原因として考えられることはありますでしょうか。

  • HTML
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

http://chaichan.web.infoseek.co.jp/qa5500/qa5742.htm http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27786&forum=12&7 この他、色々なサイトで、同様な問題が起きています。 IEの特性というか、バグですね。 今回の質問者さんのケースでは、submitが2つありますよね。 クリックは、あきらかに一方を選択するのですが、Enterキーで は、どちらを選択させるのでしょう? 書かれている対策方法としては、見えないテキストボックスを 作成すればいいようですね。

kochin02
質問者

お礼

これまで同じようなプログラムは問題なく動いていたので、おかしい なと思っていたら、そういう事たっだんですね。テキストボックス 1個の場合だったとは… 不可視のテキストボックスを追加する事で解決しました。 ありがとうございました。

関連するQ&A

  • 楽天アフィの検索窓(form)の左右中央化

    こんにちは。 ホームページを製作しているものです。楽天ブックスの検索窓を設置しようと考えています。それが下記です。 <form method=get action="http://pt.afl.rakuten.co.jp/c/秘密にさせて下さい/"><input type=hidden name=sv value=6><input type="hidden" name="sid" value="213310"> <input type="hidden" name="su" value="rakutenbooks"> <input type="hidden" name="sn" value="楽天ブックス"> <input type="hidden" name="cord" value="s"><table width=150 border=0 cellspacing=0 cellpadding=1 bgcolor=#107400><tr><td align=center><table cellspacing=0 cellpadding=3 border=0 width=100% bgcolor=#FFFFFF><tr> <td bgcolor=#107400 align=center><b><font size=2 color=#FFFFFF>楽天ブックスで探す</font></b></td> </tr><tr bgcolor=#fffcdd><td nowrap align=center><input type=text size=14 name=sitem value=></td></tr><tr bgcolor=#fffcdd><td align=center><input type=submit value=商品検索 name=submit></td></tr><tr><td nowrap align=center><img src=https://image.books.rakuten.co.jp/books/img/bookimg/_h1529_bookslogo.gif width=145 height=27 border=0 alt=楽天ブックス></td></tr></table></td></tr></table><input type="hidden" name="scid" value="af_ich_link_search"></form> この<form>を<center>タグではなくCSSで左右中央化がどうCSSで指定しても出来ませんでした。 CSSファイルで下記を記述し<form>を挟んでも不可でした。 .cent { margin-left:auto; margin-right:auto; text-align:center; } お分かりの方、どなたかご教示願えないでしょうか? 何卒よろしくお願い申し上げます。

    • ベストアンサー
    • CSS
  • formの中で別のactionをもったsubmitボタンの設置。

    formの中で別のactionをもったsubmitボタンの設置。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>sample</title> <script language="JavaScript" type="text/javascript"> <!-- //<クリックした時に実行される関数> //*** 送信画面 function func1(form){ document.form1.text.value =form.text.value; document.form1.file.value =form.file.value; document.form1.dummy.value =form.dummy.value; document.form1.submit(); } //*** ユーザー追加画面 function func2(form){ document.form2.text.value =form.text.value; document.form2.file.value =form.file.value; document.form2.dummy.value =form.dummy.value; document.form2.submit(); } //--> </script> </head> <body class="index"> <form enctype="multipart/form-data"> <table id="table" width="100%"> <tr><th width="10%">テキスト</th><td><input type="text" name="text"> <br /> <div style="text-align:left;"> <input type="button" onClick="func2(this.form)" value="テキスト確認"> </div> </td></tr> <tr><th width="10%">添付</th><td><input type="file" name="file"></td></tr> </table> <div style="text-align:left;"> <input type="button" onClick="func1(this.form)" value="確認"> </div> </form> <!-- sousin.php画面へ --> <form method="post" name="form1" action="sousin.php" enctype="multipart/form-data"> <input type="hidden" name="text"> <input type="hidden" name="file"> <input type="hidden" name="dummy"> </form> <!--- text.php画面へ ---> <form method="post" name="form2" action="text.php" enctype="multipart/form-data"> <input type="hidden" name="text"> <input type="hidden" name="file"> <input type="hidden" name="dummy"> </form> </body> </html> 上記のように記述し、フォームの中に別のactionをもったsubmitボタンを設置しました。 textの内容は渡せるのですが、添付したいファイルを渡すことができません。 添付ファイルも渡せるようにするにはどうすればよいのでしょうか

    • ベストアンサー
    • HTML
  • IEでFORMタグを入れると空白ができる

    IEだけなのですがFORMタグを入れるとTABLEとTABLEの間に空白ができます。 自分なりに切り分けをしたみたところ下記のような結果になりました。 1、XHTML1.0をHTML4.0に変更すると正常に表示 2、Firefoxで開くと正常に表示 3、FORMタグを外すと正常に表示 4、このhtmlファイルをローカル(自身のPC上)で表示すると正常に表示 (Webサーバにアップロードすると現象が現れる) ソースは以下の通りです <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <table border="0" width="800"><tr> <td><font color="#000080"><b>サブメニュー</b></font></td> <td width="20"></td> <td align="right"> <input type="button" value="戻る" onclick=window.open("http://www.xxxx.xxx/xxx.html","_top")> </td></tr></table> ※この間に空白ができます※ <table border="1" cellspacing="0" cellpadding="5" width="800"> <tr><th nowrap class="l" width="270">商品A</th> <th nowrap class="l" width="100">商品A</th> <th nowrap class="l" width="270">商品名B</th> <th nowrap class="l" width="100">商品B</th> <p></tr> <tr> <form action="./xxx.cgi" method="post" style="margin:0px"> <input type="hidden" name="view" value="0"> <input type="hidden" name="pick" value="0"> <input type="hidden" name="back" value=""> <td valign="top" width="270">あ</td> <td nowrap align="center" valign="top" width="100">あ</td></form> <form action="./xxx.cgi" method="post" style="margin:0px"> <input type="hidden" name="view" value="0"> <input type="hidden" name="pick" value="0"> <input type="hidden" name="back" value=""> <td valign="top" width="270">あ</td> <td nowrap align="center" valign="top" width="100">あ</td></form> </tr> <tr> <form action="./xxx.cgi" method="post" style="margin:0px"> <input type="hidden" name="view" value="0"> <input type="hidden" name="pick" value="0"> <input type="hidden" name="back" value=""> <td valign="top" width="270">あ</td> <td nowrap align="center" valign="top" width="100">あ</td></form> <form action="./xxx.cgi" method="post" style="margin:0px"> <input type="hidden" name="view" value="0"> <input type="hidden" name="pick" value="0"> <input type="hidden" name="back" value=""> <td valign="top" width="270">あ</td> <td nowrap align="center" valign="top" width="100">あ</td></form> </tr> </table> </p> </html> 実際にはもっと長い表になるのですが<tr></tr>を増やせば増やすほど空白が大きくなります。 どうすれば解消できるでしょうか ご存知の方がいらっしゃいましたらご教授願います。 いろいろなサイトを拝見して試してみましたが解決できないのでよろしくお願いします。

    • ベストアンサー
    • HTML
  • VBAでWebページに入力&ボタンクリック

    URLがhttp://xxx.com/のページで次のようなフォームのときExcelで自動入力クリックするマクロを作りたいです。 <input type="hidden" name="room" value="aaaaa"/> <a name="regist" id="regist">総登録数</a> <table width="402" border="1"> <tr> <th align="center" colspan="2"><div align="left"><big>登録ページ</big></div></th> </tr> <tr> <td colspan="2">&nbsp;&nbsp;&nbsp;name <input type="text" size="20" name="name" value="" maxlength="20"> &nbsp;&nbsp;&nbsp;Email <input type="text" size="20" name="email" value=""> &nbsp;&nbsp;</td> </tr> <tr> <td align="center">pass</td> <td><input type="text" size="20" name="pw" maxlength="12" value=""></td> </tr> <tr> <td align="center">category</td> <td><select size="1" name="junle"> <option value="pp" selected="selected">カテゴリ選択</option> <option value="0">その1</option> <option value="1">その2</option> </select></td> </tr> <tr> <td align="center">title</td> <td><input type="text" size="55" name="title" maxlength="25" value=""></td> </tr> <tr> <td align="center">URL</td> <td><input type="text" size="55" name="url"></td> </tr> <tr> <td align="center">intro</td> <td><input type="text" name="comment" size="55" maxlength="50" value=""></td> </tr> <tr align="center"> <td><br></td> <td><input type="submit" name="mode" value="登録"> <input type="reset" value="クリア"></td> </tr> </table> 入力する内容は1行目のA,B,C・・にname,email,pass・・・が順番にそれぞれ入っています。

  • tableタグとformタグの組み合わせ

    tableタグとformタグの組み合わせでどのように記述すれば、構文上正しいのでしょうか? 私は下のパターンで書いておりますが、間違いでしたら早めに改めたいので お聞きしました。 <table> <form> <input type="hidden" name="a" value="1"> <tr> <td> <input type="text" name="b" value=""> </td> </tr> <tr> <td> <input type="submit" value="OK" value=""> </td> </tr> </fomr> </table>

    • ベストアンサー
    • HTML
  • [VBScript]ラジオボタンでform送信

    HTML内でVBScriptを用いて、以下のようなことをしたいと思っています。 <tr>   <td nowrap align="center">東京 or 大阪 </td>   <td><input type="radio" name="ikisaki" value="0" checked>東京 <input type="radio" name="ikisaki" value="1" >大阪 </td> <form method="post" action="xxxx.asp" name="form"> <tr>  <td nowrap align="right">市名</td>  <td nowrap><font size="+2"><%=strCitNm%></font></td> </tr> <tr>  <td>   <input type="submit" name="A1" value="送信">  </td> </tr> 上記なようなラジオボタンが2つあったとして、[送信]を押したときに ラジオボタンのチェックが「東京」なら action="tokyo.asp" に、 「大阪」なら action="oosaka.asp"へform送信を行いたいと思っているのですが、 HTML内でVBScriptを使用する場合、どのような記述にすればいいのかがわかりません。 どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • submit()できない

    ファイルをダウンロードし、DBへ登録するプログラムなのですが、 submit()処理で止まってしまう(?)らしく、次のPHPが呼ばれません。 ファイルサイズが、小さいと問題ないのですが、20MBぐらいのデータに なると、止まってしまいます。 どうすればよいでしょうか? お知恵をお貸しください。 A.php <script language="JavaScript"> <!-- function checkSubmit(pIfrmObj) { document.frmCSV.btnKaisi.disabled = true; return(true); } //--> </script> <省略> <form name="frmCSV" method="post" enctype="multipart/form-data" action="./b.php" onsubmit="return checkSubmit(this);"> <table border="0" cellspacing="0" cellpadding="4" width="600"> <tr> <td align="left"><hr><b> アップロード</b><br><hr></td> </tr> <tr> <td align="left">アップロード(CSV)</td> </tr> <tr> <td align="left"><input type="file" name="csvfile" style="width:100%"></td> </tr> <tr> <td align="right"><input type="submit" style="width:18em;" name="btnKaisi" value="ダウンロード(CSV)"></td> </tr> </table> </form>

    • ベストアンサー
    • PHP
  • ボタンクリックでフォーカス移動

    JavaScript超ビギナーなので方法がよくわかりません。 フォームにテキストボックス(配列)4個あり ボタンを押すたびに未記入のテキストボックスにカーソルを移動したいのですが。どのようにしたらいいでしょうか。 <form name="form1" method="post"> <table width="200" border="1"> <tr><td ><input type="submit" name="Submit" value="送信"></td></tr> <tr><td ><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> </table> </form>

  • Formでアンケートページを作成 送信 メールに反映しない。

    こんにちは、DreamWeaver8を使ってホームページの勉強を始めたものです。 練習でFormを使ってアンケートページを作りました。 Form actionでメールアドレスを指定して 送信ボタン(Submit)を押すと、メーラーが起動して上記アドレスが記載されたメールができるのですが、中身が反映していません。(アンケートに書かれた、性別、職業など) どのようにすれば反映されるのでしょうか? 何かお分かりの方がいましたら教えてください。 よろしくお願いします。 <form action="mailto:test@***.**.jp" method="post" enctype="text/plain" name="form1" id="form1"> <table width="920" border="1"> <tr> <td>性別</td> <td><label for="radiobutton">男</label> <input name="radiobutton" type="radio" id="radiobutton" value="man" checked="checked" /> <label for="label2">女</label> <input name="radiobutton" type="radio" value="woman" id="label2" /></td> </tr> 略 <tr> <td colspan="2"><div align="center"> <input type="reset" name="Submit2" value="リセット" /> <input type="submit" name="Submit" value="送信" /> </div></td> </tr> </table> </form>

  • メールフォームについて

    この中にどのようなHTMLを書けば自分のPCにメールが届く ようになりますか?よろしくお願いします。 <h2>■MAIL FORM</h2> <div class="text"> <form><table><tr><td width="100" align=right> NAME</td><td align=right><input type="text" name="Name" size="34"></td></tr><tr><td width="100" align=right> MAIL</td><td align=right><input type="text" name="Mail" size="34"></td></tr></table> <TEXTAREA NAME="Comments" ROWS="8" COLS="39" value="comments"></TEXTAREA> <br> <table><tr><td width="100" align=right> </td> </tr><tr> <td width="100" align=right> URL</td><td><input type="text" name="URL" value="http://" size="34"></td></tr><tr><td></td><td align="right"> <INPUT TYPE="reset" VALUE=" Reset "> <INPUT TYPE="submit" VALUE=" Send "></FORM> </td></tr></table><br></div>

    • ベストアンサー
    • HTML

専門家に質問してみよう