もしかするととても簡単なことかもしれませんが、皆さんよろしくお願いします。
ひとつのページの中にフォームが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を付けずに書くようにしてください。
文法違反を見てみたんですが、
それより以前の問題でした。
原因はMETHODをPOSTにしていたんですがGETににすることにより、
思っていた動作が得られました。
ご丁寧にお答えいただき本当にありがとうございました。
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>
こんな感じでフォームを分けてみてはいかがでしょうか。
※上記のソースは動作確認しておりません。
この回答への補足
早速のご回答ありがとうございます。
上記ご回答のようにフォームは分けております。
フォームを分けているんですが、
<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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(ブラウザ) Mycrosoft Edge フォームの履歴を完全に削除したい 3 2022/08/11 09:59
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mailtoについて
-
HTML Formの属性actionは2つの...
-
送信ボタン押下時に値が未入力...
-
フォームのテキストエリアをク...
-
送信フォームを2つ用意する方法
-
スマートフォンサイトからのメ...
-
フォームの上下の余白について
-
見積りが自動でできるメールフ...
-
「リセット」ボタンを「画像」...
-
リストボックス全選択について
-
同じ名前が複数あるインプット...
-
セレクトボックスを切り替える...
-
グーグルでの化け文字対策は?
-
複数のプルダウンメニューの設...
-
[onClick]ボタンを押すことで入...
-
ブラウザの履歴を消す/アクセ...
-
javaScriptで検索結果の保持
-
チェックボックスで、チェック...
-
自分のサイト内のワード検索?
-
プルダウンメニュー項目のフォ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
submitをボタン以外にするには
-
1アクションでPOST・GET、両方...
-
送信ボタン押下時に値が未入力...
-
複数のフォームを一括で送信す...
-
URL パラメータを使ってフォー...
-
【html】)パスワード認証フォー...
-
フォーム要素以外にもname属性...
-
リンクをクリックした時にform...
-
GETをPOSTに変更したところ 送...
-
checkboxを「変更不可」にでき...
-
長文のmailtoの使い方
-
type="hidden"を使って時刻を送信
-
フォームに入力した値をURLに付...
-
<a href=**?***=***>をGET方式で
-
submitの処理の後別の画面を表...
-
</form>タグを使用すると強制的...
-
お問い合わせフォームの送信後...
-
mailtoについて
-
ラジオボタンで選択した項目に...
-
form actionでmailtoを指定する...
おすすめ情報