• 締切済み

HTMLの<form>タグ内の値について

フォーム上にクリックボタンを2つ表示してそれぞれ違う処理を実行したいと考えて います。HTML<form>タグを2つ作成して1つ目に処理1のプログラム、2つ目の <form>タグに処理2の処理を実行したいと考えています。 <form>処理1</form><form>処理2</form> 処理1にPHPを埋め込みクリッカブルボタンをプログラムで書き込みます。 <?php for($ctr=0;$ctr<MAX;$ctr++){ ?> <input type="radio" name="area" value=<?=$area[$ctr][0]?> onClick="area.value = <?=$area[$ctr][0]?>"><b><?=$area[$iCnt][1] <?php } ?> ※情報が格納されたPHPの連想配列の情報を元にクリッカブルボタンを作成し、  チェックされた情報を保持したいと考えています。 上記の場合、保持したデータを上記の処理1では利用できますが、 処理2の方ではareaにアクセスしてもデータがありません。 これはformが異なるためデータを読むことができないのでしょうか? 別フォーム内で取得したデータを別フォームで参照することはできないのでしょうか? もしかしたら私の質問が意味不明かもしれませんが ご存知の方がいらっしゃいましたら宜しくお願いいたします。

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

みんなの回答

  • me_no_car
  • ベストアンサー率24% (22/90)
回答No.2

>これはformが異なるためデータを読むことができないのでしょうか? >別フォーム内で取得したデータを別フォームで参照することはできないのでしょう>か? 可能です。 フォーム名をつけてあげましょう。 <form name="a">処理1</form> <form name="b">処理2</form> こんな感じで。 データを受け取るときはフォームタグの名前を指定して そのフォームタグ内の値を受け取ることが可能です。

回答No.1

違う方法でできますよ。 <FORM action...> <INPUT type="submit" name="act1" value="送信1"> <INPUT type="submit" name="act2" value="送信2"> </FORM> として、 フォーム上の「act1」の値がある場合は1の処理、 フォーム上の「act2」の値がある場合は2の処理って感じで 処理を分岐することができると思います。 他にもJavaScriptを使った方法もありますよ。

関連するQ&A

  • formタグ

    HTMLで、formを使用し、CGIへテキストエリアのデータをpostしたいと 考えております。 テキストエリアを3つ、ボタンを1つ設けるならば 通常以下のようにすると思います。(必要部分の抜粋) <form action="foo1.cgi" method="post" ENCTYPE="multipart/form-data"> <input type="text" name="text1" value="text1" size=50 maxlength=100> <input type="text" name="text2" value="text2" size=50 maxlength=100> <input type="text" name="text3" value="text3" size=50 maxlength=100> <input type="submit" name="aaa" value="実行"> </form> こうすると、実行ボタンをクリックすると、text1、text2、text3のテキストエリアに 記述されているテキストが送信されますが、ここにボタンをもう一つ設け、 上記3つのデータを別のCGIに送信したいのですが、 この場合どのようにHTMLを記述したらよいでしょうか? 新たに下記のようにformタグを設けると、テキストエリアは6つになってしまいますし。。。 <form action="foo2.cgi" method="post" ENCTYPE="multipart/form-data"> <input type="text" name="text1" value="text1" size=50 maxlength=100> <input type="text" name="text2" value="text2" size=50 maxlength=100> <input type="text" name="text3" value="text3" size=50 maxlength=100> <input type="submit" name="aaa" value="実行2"> </form> どなたか分かる方情報頂けますか。

    • ベストアンサー
    • HTML
  • <form>タグを使って...

    <form>タグを使ってWEB拍手を作りたいんです。 よくJavaScriptで作るメールフォームがあるじゃないですか? それを応用して、一言メッセージみたいなのを作りたいんです。 JavaScript、PHPの知識はないので、タグを記載して頂けると幸いです。

  • 2つのFormタグの動作について

    同じページに2つのFormタグを設置したいと考えています。ページが長いため、上部と下部それぞれにFormタグを設置したいと考えています。 <form name="upForm" action="xxx.cgi" method="post"> <input type="text" name="name1"> <input type="submit" value="送信"> </form> --------------- 他の処理 --------------- --------------- 他の処理 --------------- --------------- 他の処理 --------------- <form name="downForm" action="xxx.cgi" method="post"> <input type="text" name="name1"> <input type="submit" value="送信"> </form> 下のFormの送信ボタンを押すと、上のFormが動作しているようで、下のFormの入力値が反映されません。それぞれのFormをそれぞれの送信ボタンで動作させる方法につきまして、ご存知の方がいましたらぜひ教えていただきたいと思います。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • formタグ

    すみません、お教え頂きたいのですが xhtml文でformタグでフォームを作り、PHPで確認画面を見せる といったものを作成したのですが、formの中のtableにCSSで 色などを修飾しようと思って、リンクしている外部CSSに書き込んでも、反応がなく、直接CSSを書き込むとちゃんと色などつきます。何か問題があるのでしょうか?わかりにくい聞き方ですみませんが、宜しくお願いします。

    • ベストアンサー
    • HTML
  • PHP,HTMLでのform actionについて

    現在、以下のようにプログラムを書いています。 <form action="shellexec.php" id="editarea_form" method="POST"> <div align="center"><input type="submit" value="提出" style="width:200px;height:25px" id="submitBtn"> <textarea id="edit" name="edit" cols="120" rows="30"></textarea></div> <input type="hidden" name="save_address" value="<?php echo "tmp/".$_SERVER['REMOTE_ADDR']."/form3.php/current.c" ?>" id="saveAddress"> </form> これにより自サーバのホームページにフリーのエディタを付けてそこにプログラムを書いて貰って、提出ボタンを押して提出してもらい、提出されたプログラムの診断をしています。 そこにもう一つボタンをつけて別の処理を行うようにしたいのですが、form actionには一つしか書けないのでしょうか。二つ以上かける方法があれば教えて頂きたいです。 エディタに書いてもらってボタン1を押したら、その内容を用いてshellexec1を実行、ボタン2を押したらshellexec2を実行という風にしたいのです。 色々やってみたんですが難しくうまくいかないので質問しました。 よろしくお願いします。

    • 締切済み
    • PHP
  • form actionタグ

    dbから取得した値を元に一覧画面を作成し 一つのデータに対して一つのボタンを設定し そのボタンをクリックした際にIDを別の画面に渡す処理を 行っていますが、パラメータを渡す事が出来ません…。 <?php while($data = mysql_fetch_array($res)){ print "<tr><td>".$data['id']."</td>"; print "<td>".$data['name']."</td>";   ⇒★print "<form method=\"post\" action=\"delete.php?id=\".${data['id']};>"; print "<td><input type=\"submit\" value=\"更新\" name=\"aaa\"></td>"; print "</form>"; print "</tr>"; } ★の部分が理由でうまくいかないと思うのですが… もしお分かりになる方が居たらご教授お願い致します。

    • ベストアンサー
    • PHP
  • セッション PHPとHTML

    form1.htmlのaction先にorder.phpを指定し、そのorder.phpで$_POSTを使ってform1.htmlのフォーム情報を取得します。その後、order.phpはheader(Location)でform2.htmlをブラウザ上に表示させます。 form2.htmlはaction先が同じorder.phpになっており、ifで動作を制御しています。form2.htmlのsubmitボタンを押すと、画面上にorder.phpにより、今まで2つのフォームで入力した内容が表示されます(order.phpはsessionですべての変数を保持しています)。 この時「form1の内容を訂正」「form2の内容を訂正」というリンクないしボタンを設けて、該当フォームに飛べるようにしたいのです。 このリンク/ボタンで該当フォームに飛んだ場合、入力内容がフォームに表示されるようにするには、どのようにすればいいのでしょうか? いまいちsessionの詳しい使い方が分からなくて困っています・・・。

    • ベストアンサー
    • PHP
  • FORMタグを使わずに、POSTするには?

    HTMLのFORMタグを使わずに、別のPHPプログラム等に引数をPOSTする方法はあるのでしょうか? サーバー間で、データーのやり取りをしたいと考えています。 よろしく、お願いします。

    • ベストアンサー
    • PHP
  • formでのやりとり

    PHPで値のやりとりで下記のような状態のものがあるとします。 内容はプロフィールの変更MYSQLへUPDATEです。 このフォームに入力してもらいpage.phpで処理をするとします。 <form action="page.php" method="post"> <input type="hidden" value="test123@yah.co.jp" name="email"> <input type="submit" value="プロフィール変更"> </form> このtest123@yah.co.jpさんがクリックするとemailが送られるpage.phpで処理され問題はないのですが、Firebugなどでソースを書き換え(アドレスの部分を)sample@yah.co.jpと書き換えてボタンをクリックするとsample@yah.co.jpさんのプロフィールが簡単に書き換えられてしまいます。 このtype="hidden"を隠したりする方法はないのでしょうか? それとも受け渡し時に何かの処理でチェックするのでしょうか? このアドレスなどを$SESSIONで代用したとして、たとえば隠したい値などをformで送信する際はどのように処理をするのが適切なのでしょうか? 今更的な質問ではございますが、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • <form>タグに2つのボタン

    <form>タグで2つのボタンを表示させ、以下のようにそれぞれのボタンで フィールドに別の値を入れて送信させることはできますでしょうか? できればHTMLで、できなければJavaScriptでできますでしょうか? ・button1を押したときは  フィールド「CASE」に1を入れて送信、  HTMLで書くと、<input type="hideen" name="CASE" value="1"> ・button2を押したときは  フィールド「CASE」に2を入れて送信、  HTMLで書くと、<input type="hideen" name="CASE" value="2"> ===== HTML ====================== <form action="test.cgi" method="post"> <input type="text" name="text1"> <input type="submit" value="button1"> <input type="submit" value="button2"> </form> 宜しくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう