• 締切済み

HTMLのフォームタグの送信順について

HTMLのフォームタグは、必ず上から送られ 同じ名前で下に書いた場合、下にあるフォームで値は 必ず上書きされるでしょうか? 例: <form method="post" action="next.cgi"> <input type="hidden" name="test" value="1"> <input type="text" name="test"> </form> で送った場合、下のテキスト入力フォームで 入力した値が送られるのを期待しています。

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

みんなの回答

回答No.1

どうやら、先の値が送られるようですね。 上書きもされないみたいです。 単純に、 <form method="post" action="next.cgi"> <input type="text" name="test"> <input type="hidden" name="test" value="1"> </form> とすれば、テキスト入力フォームの値が送られると思われます。

natsuyori
質問者

お礼

まじですかぁ。PHPでは後の値が送られます。 やはり送られる順番=受け取る順番というのは保証されていないようですね。結局、同じ名前の物は置かないように修正しました。ありがとうございます。

関連するQ&A

  • フォームタグについて

    二つのフォームタグを一つのボタンで送信したいのですが、可能でしょうか? <form action="http://aaa/" method="post"> <input type="hidden" name="comment" value="テキスト "/> <input type="hidden" name="mode" value="com_w" /> <input type="hidden" name="no" value="1" /> <input type="submit" value="登録" /></form> <form action="http://bbb/" method="post"> <input type="hidden" name="comment" value="テキスト "/> <input type="hidden" name="mode" value="com_w" /> <input type="hidden" name="no" value="2" /> <input type="submit" value="登録" /></form> 同じデータをもっているフォームですが、送信するページが別々になっています。 この二つのフォームを一つの送信ボタンで送信できますでしょうか? 色々と調べましたがわかりません。 よろしくお願いいたします。

  • フォームタグを送信した後に表示されるページ

    フォームタグを送信した後に表示されるページを指定したいのですが、どうすればいいのか分かりません。タグは <form method=POST action="フォームサービスのCGIアドレス"> <input type=hidden name="_mailto" value="私のメアドです"> あなたのお名前<br> <input type="text" name="name"><br> (略) <input type=submit value="送信"> こんな感じです。 よろしくお願いします。

  • フォームタグについてお尋ねします

    フォームタグについてお尋ねします <form method=get" action="./index.cgi"> 検索 <input type="hidden" name="ctgry" value="4"> <input type="text" name="SerchWord"> <input type="submit" value="検索"> </form> 現在、このようなタグを記述してCGIにデータを送っています。その結果、GETですのでURLが index.cgi?ctg=4&SerchWord=%BB%EE%B8%B3 という風になるのですが、これを index.cgi?ctg=4?SerchWord=%BB%EE%B8%B3 という風にしたいのですが、やり方がいまいち分かりません。 ctgry=4&をctgry=4?にする方法を教えてください!! お手数おかけしますがよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

  • VBSのIEオブジェクトでフォームデータ送信する

    ■質問 通常IEオブジェクトを使ってフォームにセットされたデータを サブミットするには、 IE.Document.forms("").elements("").value = "" IE.Document.forms("").submit() と行うと思うのですが。 例えば下記のようなフォームを送信する際、 フォームのある"http://test.com/login_form" ページにわざわざ移動せず 直接"http://test.com/action"の "hidden"のエリアに対してデータを送信 する方法を教えて頂けませんでしょうか? また、Form1に複数のエレメントが存在する場合 全てのエレメントの値を送らないと正しく処理 できないでしょうか? ■"http://test.com/login_form" のHTML <form name="Form1" method="post" action="/action"> <input type="hidden" name="ID" value="1234"> <input type="submit"> </form>

  • chromeでフォームの値が取得できない

    PHPでフォームに入力された値を取得して画面に表示させる処理において、 Javascriptでフォームの値を変更した場合、chromeだと変更後の値が 取得できません。 例えば、 <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="111"> <input type="hidden" name="data1" value="AAA"> <input type="submit" value="送信"> </form> というようなフォームがあったとして、Javascriptで値を <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="222"> <input type="hidden" name="data1" value="BBB"> <input type="submit" value="送信"> </form> と、変更しても送信ボタンを押して取得できる値は、上の方の値になります。 IEやFireFoxでは問題なく変更後の値が取得できるのですが、chromeだと 取得できません。 なにか解決方法があるのか、それともchromeの仕様なのかご教示いただければと 思います。 どうかよろしくお願いいたします。

  • ボタン別でフォームの送信先を変えたい

    同じ場所に3つある今のフォームを1つにまとめたいのですが、 「ラジオボタン」でやるのではなく「submitボタン」によって送信先の振り分けはできないのでしょうか? CGIなどを使って一旦クッションを置くのは問題ないです。何か参考になるサイトさんとかありましたら教えてください。 <form action="1.php" method="get" class="form" target="a" name="1"> <input type="hidden" name="s" value=90 /> <input type="hidden" name="t" value="e" /> <input type="text" name="moji" value="" size="8" /> <input type="submit" name="button" value="検索" /> </form> <form action="http://e.php" method="get" name="2" target="a"> <input type="hidden" name="test" value=et /> <input type="text" name="77" value="" size="8" /> <input type="submit" value="検索2" class="button" /> </form> <form action="http://8.cgi" method="get" target="a"> <input type="text" size="8" name="q" value="" /> <input type="submit" value="検索3" class="button" /> <input type="hidden" name="sut" value="JJ" /> </form>

    • ベストアンサー
    • CGI
  • フォームタグをURLに

    フォームタグは「http://aaa.php?aaa=aaa&bbb=bbb」等で基本的にURLに変換することが出来ますが、例えば<form id="form1" name="form1" method="post" action="xxx.php?PHPSESSID=xxx"> 等の様にformタグ内に一切<input>がない場合はどの様にURLで表示させる事が出来るのでしょうか? 詳しいかたがいらっしゃいましたらご教示願います。

  • 複数のフォームを一括で自動送信することは可能ですか

    いろいろ検索したのですが、それらしきものが無いように思うので、 陳腐な質問をしているかもしれませんが、よろしくお願いいたします。 ●質問1、 現在、下記の「■例1、」のようにページが開いた時点で 自動でクリックしてフォームデータを送信できるようにしています。 ■例11、 <html> <body> <form name="nform" action="a.php" target="blank" method="POST"> <input type="hidden" value="a" name="1"> <input type="hidden" value="b" name="2"> <input type="hidden" value="c" name="3"> <SCRIPT language="JavaScript">document.nform.submit();</SCRIPT> </form> </body> </html> この同じページに、下記のような全く違うaction先に、内容の一部だけ違う別のフォームを書いて、 同じように自動クリックしてデータを送る方法はありますでしょうか? 出来れば、2つだけではなく、複数のフォームを配置したいのですが・・・ <html> <body> <form name="nform2" action="b.php" target="blank" method="POST"> →※ここの action=値が違う。 <input type="hidden" value="a" name="1"> <input type="hidden" value="b" name="2"> <input type="hidden" value="f" name="3"> →※ここの value=値だけが違う。 </form> </body> </html> 色々試しておりますが、ほとんど素人のためいまだに苦戦しております。 ●質問2、 また、このやり方では無事に2つに送信できたとしても、target="blank"で2つのページが開いてしまうと思うのですが、 それを防ぐ方法(ひとつだけ開く)などはありますでしょうか。 JavaScriptはoffにしてないという条件下で動かす方法を考えております。 素人発想で申し訳ありませんが、何か解決法がありましたらよろしくお願いいたします。

  • 送信フォームタグを教えて下さい。

    HPに「ご意見ご感想・質問など気軽にどうぞ。」と、送信フォームを作りました。 HTMLタグ辞典を参考に下のようにソースに書きましたが、いざクロームで開いて送ろうとすると、メールが開いて、「%E3%81%8B%E3」のような文字がズラッと並びます。メールは開かずにサクッと送れて、文字化けもしないようにするにはどうすればよろしいのでしょうか? <form method="post" action="mailto:ka****@sco.bbiq.jp">ご意見ご感想・質問など気軽にどうぞ。 <br> <br> <textarea wrap="hard" rows="8" cols="40" name="HPからのメール"></textarea> <br> <br> <input type="submit" value="送信"> </form>

専門家に質問してみよう