• ベストアンサー

送信ボタンをエンターで動作させたい

もしかするととても簡単なことかもしれませんが、皆さんよろしくお願いします。 ひとつのページの中にフォームが2つ以上あったとします。 そして画面で言うと、画面のヘッダー部分に、サイト内検索の為のフォームがあって、中段くらいにお問合せの為のフォームがあったとします。 そしてここからが皆さんに教えて頂きたいところなんですが、 今の状態で、エンターボタンを押すと常に検索フォームのサブミットボタンが動作してしまいます。 本当はお問合せ内容を入力したときは、お問合せのフォームの送信ボタンがエンターで動作して、検索フォームのテキストを入力したときは、検索用のフォームのサブミットボタンが反応してほしいと思っています。 入力したフォームによってそれぞれのサブミットボタンがエンターで動作するようにしたいんですが。。。 単純なことかも知れませんが、はまっています。どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • darlinr
  • ベストアンサー率27% (11/40)
回答No.3

No1です。 例文で書いていただいたhtmlの下のformのsubmitタグから name部分を削除してみてから試してください。

taabooo
質問者

お礼

ありがとうございました。 原因はMETHODをPOSTにしていたんですがGETににすることにより、 思っていた動作が得られました。 本当にありがとうございました。

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

その他の回答 (2)

回答No.2

とりあえず、文法違反を正してみてはいかがでしょうか。 HTMLでは<input>、XHTMLでは<input />と書きます。 それ以外にも</div>とか</td>とか、不正が多いです。 > 検索のテキストボックスに文字を入力し、エンターボタンを押しても、クリックしたときと違う動作をしてしまいます。 書かれているHTMLが違うので、違う動きはしますが、 それぞれ文法や仕様に則った、正しい動作をしていると思います。 > 上のフォームのテキストボックスに文字を入れてエンターを押すとちゃんとした動きをします。 一応確認しておきたいのですが、「ちゃんとした動作をしない」というのは、 「送信しない(ページを移動しない)」ということなのか、 ページは移動するが、search_data=%E6%A4%9C%E7%B4%A2というデータ(UTF-8の場合)が送信されない ということなのか、どっちでしょうか? テキストフィールドでエンターキーやリターンキーを押して送信した場合は、search_data=%E6%A4%9C%E7%B4%A2というデータは送られません。 検索ボタンを押してフォームを送信した場合は、検索ボタンのデータを送ります。 これは文法どおりであり、ブラウザの仕様、動作として正しい動作です。 どうしても送信したければhiddenフィールドなどに書いておいて、submitにはnameを付けずに書くようにしてください。

taabooo
質問者

お礼

文法違反を見てみたんですが、 それより以前の問題でした。 原因はMETHODをPOSTにしていたんですがGETににすることにより、 思っていた動作が得られました。 ご丁寧にお答えいただき本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • darlinr
  • ベストアンサー率27% (11/40)
回答No.1

<form name="f1" action="hoge.html"> お問い合わせ:<input type="text" name="t1"> <input type="submit"> </form> <form name="f2" action="hoge.html"> 検索:<input type="text" name="t2"> <input type="submit"> </form> こんな感じでフォームを分けてみてはいかがでしょうか。 ※上記のソースは動作確認しておりません。

taabooo
質問者

補足

早速のご回答ありがとうございます。 上記ご回答のようにフォームは分けております。 フォームを分けているんですが、 <form name="f1" action="hoge.html"> お問い合わせ:<input type="text" name="t1"> <input type="submit"> </form> <form name="f2" action="hoge.html"> 検索:<input type="text" name="t2"> <input type="submit"> </form> とHTMLで書くと検索のテキストボックスに文字を入力し、エンターボタンを押しても、クリックしたときと違う動作をしてしまいます。 ちなみにソースは <form action="test.php">  <input type="text" name="search_text">  <input type="submit" value=" GO "><br />  <input type="radio" checked="checked">商品名検索<br />  <input type="radio">A検索<br />  <input type="radio">B検索<br /></div> </form> と <form method="post" action="sozai_search.php"> <input type="radio" value="A" name="kind">  <input type="radio" value="B" name="kind"></td>  <input type="text" name="search_text" size="35" value="" />   <input type="submit" name="search_data" value="検索"> </form> にしています。 下のフォームのテキストボックスに文字を入れて、エンターを押しても 動きませんが、上のフォームのテキストボックスに文字を入れてエンターを押すとちゃんとした動きをします。 フォームを分ける以外に何か必要なのでしょうか? よろしくお願いします。

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

関連するQ&A

  • エクセル フォームでのEnterでボタンを押さない

    エクセル初心者です。 フォームをつくり、テキストボックスがいくつかありますが文字を入力後 Enterを押すとフォーム内のボタン(OKボタン・・・シートに書き込み)を押したことになってしまいます。 文字入力後、癖でEnterを押してしまうのでボタンは、クリックのみで動作するようにしたいのですが・・・・。 数式お分かりの方いらっしゃいますでしょうか?

  • Enterキークリック時の動作について

    VB.NETでWEBプログラムを作成しています。 その際に、検索項目を入力する複数のテキストボックスと、 検索を実行する検索ボタンを配置して、検索フォームを作成しました。 検索はEnterキーからも実行出来るようにしたいのですが、 実際にEnterキーを押すと、上に配置しているメニューボタンがクリックされてしまいます。 フレームを使用し、メニューボタンを常に表示している為とおもわれますが、Enterキーを押した時に検索ボタンクリック時の処理を走らせる 方法はありませんか? どなたかご教授願います。

  • 入力欄とそれを入力中にエンターを押した時の、ボタンの連動方法

    文章で書くと分かりにくいかもしれませんが、 入力枠(<input type="text" ...)が2つあり、 それに対応するサブミットボタンも1つづつあるとします。 各入力枠に入力中に、エンターを押した時のボタンを 自動的に適応させるにはどうしたらよいでしょうか。 ・・・やっぱり、文章だと分かりにくいかもしれませんが・・・。 例えば、ぐーぐるの検索結果画面だと、画面上部にも 下部にも、検索条件入力欄があって、それぞれ、右側に検索実行のボタンがありますよね。 そのボタンは、上の入力欄にフォーカスを当てると、 上のボタンにエンターのフォーカス(?)が自動的にきますよね。 下の入力欄にフォーカスを当てると、下のボタンにエンターのフォーカス(?)がきます。これのやり方がしりたいです。 JavaScriptの話ではないかもしれませんが・・・。 どなたか教えてください。お願いします。

  • Enterキーを押しても送信しないようにする

    ユーザーリクエストを受付けるHTMLフォームに 例えばテキストボックスがいくつかあって送信ボタンをクリックするとCGIにパラメータが送信されるという時に、テキストボックスの1つめにデータを入れた後、2つめ以降まだ入力してないのにEnterキーを思わず押してしまって送信されることってありますよね。 Enterキーを押しても送信されないようにすることって出来るのですか。よく、空白のテキストボックスが残っていると、「○○を入力してもう一度送信ボタンをクリックしてください」というエラーメッセージを表示して戻す。という手がありますが、テキストボックスが空白でも、データ送信はできる様にしたいのです。そうするとEnterキーを殺すしか方法が思いつかないのですが・・・

    • ベストアンサー
    • Perl
  • エクセルでEnterキーが効かなくなる現象について

    エクセルでEnterキーが効かなくなる現象について エクセル2007で入力フォームを作りました。テキストボックスにデータを入力しEnterキーを押すと、 次のテキストボックスへ移動します。この動作が、たまに、Enterキーを押しても次のテキストボックスへ 移動しなくなります。(他のパソコンでも同じようになります) 理由がわからない為、エクセルを閉じて、再度起動してみたり、パソコン自体を再起動したりすると、正常に動くのですが・・・(1度、VBAの画面で動かすとまた正常になります) どなたかぜひ助けてください。 よろしくお願いします。

  • ENTERキー押下の時に決まったアクションをさせたい

    VP6Learning Editionを使っています。 検索サイト等で、検索ワードを入れた後に「検索」ボタンを押さなくてもENTERキーを押すことにより、検索ボタンを押したことになりますよね。 ああいう風に、テキストボックスに入力した後にENTERキーを押したとき決まったアクションをするように(具体的にはCommand1ボタンが押されたのと同じ動作をさせたい)できないでしょうか。 日本語入力をする際にENTERキーは“決定”の役割をしますが、その時は上に書いたようなアクションをさせたくないのです。

  • 画像ボタンでenterキーを有効にしたいのですが、

    画像ボタンでenterキーを有効にしたいのですが、 方法がわからず困っております。 ID、PASSを入力するテキストフィールドが2つあり ログインボタンという感じです。 ボタンを画像にする前はできていたのですが、 画像にしたとたん効かなくなってしまいました。 enterキーを有効にする方法がございましたら お教え頂けないでしょうか。

    • ベストアンサー
    • HTML
  • メール送信フォームについて

    ヘッダー、メニュー、フッターはHTMLで記述しています。 問い合わせフォームはCGIで記述しています。 1.利用者が問い合わせフォームに入力 2.入力内容の確認画面、または入力エラーの画面 3.送信後完了画面 入力内容の確認画面でヘッダー、メニュー、フッターも表示させる。 入力エラーの画面でヘッダー、メニュー、フッターも表示させる。 送信後完了画面でヘッダー、メニュー、フッターも表示させる。 ヘッダー、メニュー、フッターはすべて同じ内容で、 問い合わせフォームのみが変化する仕様になっております。 入力内容の確認画面、入力エラーの画面、送信後完了画面の各画面のヘッダ、メニュー、フッターをCGI内にすべて記述しているのですが効率が悪いと感じております。 どのようにコーディングするのが最も効率が良いでしょうか? どうぞ宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • 「送信」ボタンからフォーカスを自動的に外す方法

    こんにちは。PHP初心者です。 先日、PHPでメールフォームを作成しました。 テキストエリアに"住所""名前"など入力し、最後に『送信』ボタンを押す。 と、ごく普通のメールフォームです。動作などは全く問題ありません。 でもどうしても気になることが。。。 それは最初にページを開いて、テキストエリアをクリックすると、 『送信』ボタンにもフォーカスされてしまいます。 これだと、入力が完了してない状態でエンターキーを押してしまうと、 次ページ(確認ページ)に移動してしまうのです。。。 どこがどうなって、こういった現象が出るのかわかりません。 簡単な方法としては、常に『送信』ボタンからフォーカスを外す方法 と安易に考えてます。。。 教えて下さい。 また、これが原因じゃない?という意見などもあれば教えて下さい^^

    • 締切済み
    • PHP
  • 送信ボタンがEnterキーでなく、マウスクリックのみに反応するようにする方法はないでしょうか?

    ページの一番上に、次の文による送信ボタンを設置しています。 <input name="submit" type="submit" value="送信"> 他に多くのテキスト入力フォームがあり、それを全て入力してからこの送信ボタンを押して、次の処理をしたいのに、例えば仮名漢字変換の際にEnterキーを誤って2回押しただけで表記ボタンに反応してしまい、次の処理に進んでしまいます。これを避けるため、ボタンがマウスクリックのみに反応するような方法、またはそれに準じた方法はないものでしょうか?宜しくお願いいたします。

    • ベストアンサー
    • HTML