連動フォームによる値の送信方法について

このQ&Aのポイント
  • 連動フォームを使用して値を送信する方法について教えてください。HTMLソースのフォーム部分を変更して、都道府県と市町村のプルダウンの選択肢をresult.phpに受け渡したいですが、方法がわかりません。
  • 連動フォームの値の送信方法について教えてください。HTMLソースのフォーム部分を変更し、都道府県と市町村のプルダウンで選択された値をresult.phpに送信したいです。
  • 連動フォームの値を送信する方法について教えてください。HTMLソースのフォーム部分を変更し、都道府県と市町村のプルダウンの選択値をresult.phpに渡したいのですが、どのようにすればいいですか?
回答を見る
  • ベストアンサー

連動フォーム、値の送信方法について教えて下さい

http://d.hatena.ne.jp/Mug/20060414/1145023696 上記を参考にさせて頂いています。 HTMLソースのフォーム部分を、下記のように変更。 <form action="result.php" method="post" name="fname"> 都道府県:<select id="sb1" name="s1" onchange="box2.make(this.value);"></select><br /> 市町村:<select id="sb2" name="s2"></select><br /> <input type="submit" name="" value="送信"> </form> result.phpの内容は以下です。 <?php extract($_POST); print_r($_POST); ?> s1,s2の内容は確認出来ますが、プルダウンの選択肢(例えば"神奈川"、"横浜市")の文字列をresult.phpに受け渡したいのですが、知識不足で解決出来ません。 どの様にしたら文字列(東京、神奈川など)をhtmlのフォームからresult.phpに受け渡す事が出来ますか?

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

フォームからの送信では表示値は送られず、value値が送られるようになっています。 それなので、もとのvalueのデータを希望する文字列にしてあげればそのまま送信されることになります。(↑各SelectOptionを定義しているデータのところ) ただし、2バイト文字の場合エンコードされるはず。 php側(=サーバ側)にコードと都市名の対応表を持っていて、フォームのHTML自体もphpから出力するというようなのもあるのかも・・・ (この場合は送信データはコードのみでよくなる)

narusuji
質問者

お礼

ありがとうございます。 JavaScriptはほとんど使った事が無いので四苦八苦しています。 Firebugをインストールし、Select.jsがどの様に動作しているのか眺めている最中です。 勉強しながらSelect.jsに手を加えるか、 対応表を作って送られたs1,s2の数値データをresult.phpで文字列に変換するか、 どちらにしようか迷っています。 47都道府県と市町村の連動ドロップダウンを使うのが目的なんですが、いつも目的に最短距離で進めず、回り道ばかりでタイムロスしています(汗) とりあえずは、JavaScriptのお勉強は後回しにして、対応表を作ったほうが目的達成までの時間は掛からないと思うので、PHPファイル側で処理をしようと思います。

関連するQ&A

  • まったく同じ<select>フォームの値を連動させたい

    まったく同じ<select>フォームの値を連動させたい ptpで下記のようなコードがあり、まったく同じselectフォームの値を常に連動させるにはどうしたらよいでしょうか。 本当は、ひとつのform内に二つのSubmitボタンがあってはならないような話を聞いたことがありますが・・・ <html> <head> </head> <body> <?php $btn = "<select name='sorttype'>"; $btn .= "<option value='0'>氏名</option>"; $btn .= "<option value='1'>年齢</option>"; $btn .= "<option value='2'>電話番号</option>"; $btn .= "</select>"; $btn .= "<input type='submit' name='exec' value='保存'>"; ?> <form> <?= $btn ?> ああああ<br> いいいい<br> うううう<br> <?= $btn ?> </form> </body> </html>

  • select値でのフォームのaction値の変更

    以下のようなフォームでselectの値によって PHPでactionのURLを変更させるようなことは出来るでしょうか。 <form name="form" method="GET" action="ここをselect値により変更"> <input type="text" name="word" id="word" value="" /> <select name="select" id="select"><option selected="selected" value="01">値01</option> <select name="select" id="select"><option selected="selected" value="02">値02</option> <select name="select" id="select"><option selected="selected" value="03">値03</option> </select> </form> 以上、どうぞ宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • PHPでのフォームの受け渡しについて

    PHPの勉強中の者です。 PHPでフォームの受け取りの時に入力データのIDを受け取り、出力させるやり方について模索しています。 具体的には以下の通りです。 例えば、セレクトフォームのIDをそれぞれAAAとBBBにします。 ーーーーーーーーーー [フォーム内] <form action="file.php" method="post" name=""> <select name="data1" size="1"> <option value="0">選択する</option> <option value="100" id="AAA" >aaa</option> <option value="200" id="BBB" >bbb</option> </select></form> ーーーーーーーーーー [出力結果] AAA は aaa です。 BBB は bbb です。 ーーーーーーーーーー 選択された aaa の受け取りは、 $data1[] = $_POST['data1']; これで出来ると思いますが、idを受け取り出力する方法が分からないのです。 どなたかわかる方ご教授お願い出来ますでしょうか? 宜しくお願いします。

    • 締切済み
    • PHP
  • フォームから値を受け取る方法について

    例えば <form method="post" name="frm" action="mail.php">名前<input type="text" name="namae"><br> 住所<input type="text" name="jyuusyo"><br> 電話番号<input type="text" name="denwa"><br> 職業<input type="text" name="syokugyou"><br> 年齢<input type="text" name="nenrei"><br> <input type="submit" value="送信"><br> </form> というフォームがあるとして、それをmail.phpで 名前を取得する場合$_POST['namae']と書く以外で フォームの1番目の値を取得するというような書き方はあるのでしょうか? frmのパラメータの数(上記の場合5コ)というのは取得出来るのでしょうか? ご存知の方教えてください。お願いします。

    • ベストアンサー
    • PHP
  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • フォームから送信される値について教えてください

    ある人とwebのフォームを作成する話をしていて、相手の方からフォーム のテキストやチェックボックスなどinput要素では、name属性は必須では なくid属性が必須で、ブラザーからはidとvalueの組み合わせがサーバに 送信されるといわれました。 私の認識としては 「一般にHTMLのフォームをサーバーへ送信する時には、 get・postに かかわらずブラウザが自動的にFORMの子要素内のnameとvalueの値の ペア(name=value&name=valueというような値)を送信する」 だということを話したところ。 getに関しては今もそうかもしれないが、現在のpostの場合はidとvalueの 値のペアが送信され、それをサーバで処理しているというようなことを 言われました。 私自身phpやperlを使っています、ブラウザからの送信方法は get・postで違うが、送られてくる内容はpostの場合もnameとvalueの 組み合わせだと認識しています。 実際にスクリプトを作成して、テストしてもidとvalueの組み合わせは サーバ側のプログラムでは取得できませんでした。 相手の方が言うように最近のブラウザー(クライアント)はサーバに id=valueの組み合わせを送信するものや場合によってそのように振る舞う ことがあるのでしょうか。 この件に関して詳しい方、ご教授いただけないでしょうか。 できればRFC等の確かな資料をお示しいただけると助かります。

    • ベストアンサー
    • HTML
  • フォームの値の再表示

    PostgreSQLのデータベースからPHPで問い合わせしたレコードをブラウザで更新するために問い合わせた結果をブラウザ上に表示させています。 $sql = "select col1,col2 from table where id = '$id' ;"; <form action = "update.php" method=post> タイトル: <input type="text"name="col1" value=<?print("$col1");?>> </form> $col1がスペースを含んでいるとこのフォームにはスペースの前まで文字列しか表示されません。 すべての文字列を正しく表示するためにはどういう方法が よいでしょうか?

    • ベストアンサー
    • PHP
  • PHPでフォームからURLへの値の受け渡し

    選択された値をURLとして移動させたいと考えています。 例えば、http://example.com/というページにフォームを設置し、 ドロップダウンメニューから四国を選択すると http://example.com/shikoku/というページが表示されるといった具合です。 他のページを参考しつつ自分で考えてみたのですが、2度送信ボタンを押さなければページが表示されません。 最近になってPHPを触りはじめたので、いまいち何がおかしいのかわからず困っています…。 どなたかご教授お願いします。また、変な部分もあるかと思いますので、よろしければ教えてください。 <?php if($_POST['submit']) {$url = $_POST['tiiki']."/".$_POST['ken'] ;}?> <form action="<?php echo $url ;?>" method="post"> <select name="tiiki"> <?php $tiiki = array("kyusyu"=>"九州","shikoku"=>"四国");?> <?php foreach ( $tiiki as $tiiki1=>$tiiki2 ){?> <option value="<?php echo $tiiki1 ;?>"><?php echo $tiiki2 ;?></option> <?php };?> </select><br /> <select name="ken"> <?php $ken = array("fukuoka"=>"福岡","ehime"=>"愛媛");?> <?php foreach ( $ken as $ken1=>$ken2 ){?> <option value="<?php echo $ken1 ;?>"><?php echo $ken2 ;?></option> <?php };?> </select><br /> <input type="submit" name="submit" value="送信"> </form>

    • ベストアンサー
    • PHP
  • フォームへ値の渡し方について

    こんばんわ。 PHPの勉強をしています。 入力されたIDを元にDBから氏名をクエリし、テキストボックスへ表示させようとしていますが、テキストボックスの指定の仕方が分からず、行き詰っています。 各テキストフォームは<?php?>の中に記述しています。 初心者のため簡単にできることなのかもしれませんが、ご教授願います。 <form method="POST" action="hyouji.php"> ID: <?php if($_POST["ID"]){ $id = $_POST["ID"]; echo "<input type=text name=ID onChange = submit() value = '$id'>"; ECHO "YES"; }else{ echo "<input type=text name=ID onChange = submit()>"; ECHO "NO"; } ?> Name: <?php echo "<input size=28 type=text name=Name ><br>"?> /*上記、テキストボックスに値を入力*/ <input type=submit name=bottun1 value=入力> </form> <?PHP $host = 'localhost'; $user = 'root'; $pass = 'root'; $db = 'DB'; if($_POST["ID"]){ $id = $_POST["ID"]; $link=mysql_connect($host,$user,$pass) or die("接続エラー"); mysql_query("SET NAMES sjis") or die("can not SET NAMES sjis"); mysql_select_db($db,$link) or die("接続エラー"); $sql="SELECT * FROM test WHERE id = '$id'"; $res=mysql_query($sql,$link) or die("データ抽出エラー"); $rows = mysql_fetch_array($res,MYSQL_ASSOC); echo "<tr>"; echo "<td>".$rows["user_id"]."</td>"; echo "<td>".$rows["customer"]."</td>"; echo "</tr>"; mysql_close($link); }else{ echo "表示データはなし"; } ?> 以上、長文になりましたがよろしくお願いします。

    • ベストアンサー
    • PHP
  • 検索機能について

    <form action="******"method="post> 選択名<BR> <select name="数字"> <option value="1">1 <option value="2">2 <option value="3">3 </select><BR> <input type="submit" value="OK"> </form> 上のフォームで転送した時に1.2.3のページを表示できるようにしたいのですが、PHPスクリプト?を、どう書けばいいか教えて下さい。

    • ベストアンサー
    • PHP

専門家に質問してみよう