プロが教えるわが家の防犯対策術!

プルダウンを連動した際のPOST処理に関して

初歩的な事で申し訳ありませんが、教えて下さい。

今現在、過去にも質問として登録されていた下記のソースに対し、自身で修正を加えて
記述をしております。

その中で、以下の連動したものの中で、プルダウンより選ばれたものをボタンで別ページ
へPOSTしたいと考えております。

下の記述の場合、from の POST へは、既に自分を再読込みという記述がされていて、
ボタンを作成し、POST で飛ばす事ができません。。。

したの登録ボタンで別画面へ遷移するにはどのような方法があるでしょうか。。。

教えて下さい。

《内容》

<?php
//DB接続
$dbcon=mysql_connect("localhost","abcd","defg");
//DB選択
mysql_select_db("zozozo");

?>
<html>
<body>
<form method="post" name="frm" action="a.php">
<select name="mkoumoku" onChange="submit()">

<?php
$slctd = ((!isset($_POST['mkoumoku']) Or $_POST['mkoumoku'] == "none")?" selected":"");
echo '<option value="none"'.$slctd.'>-------------</option>'."\n";

//table1を取得
$res=mysql_query("select distinct * from table1");
while ($rows=mysql_fetch_array($res)) {
$slctd = (($_POST['mkoumoku'] == $rows['id'])?" selected":"");
echo '<option value="'.$rows['id'].'"'.$slctd.'>'.$rows['kind'].'</option>'."\n";
}
echo "</select>";
?>

<select name="skoumoku">
<option value="none" selected>-------------</option>
<?php
//table1に連動して項目を変えたいところのコード
$res1=mysql_query("select * from table2 where table2.key='{$_POST['mkoumoku']}' order by id");
while ($rows=mysql_fetch_array($res1)) {
echo '<option value="'.$rows['id'].'">'.$rows['name'].'</option>'."\n";
}
echo "</select>";

//Dbクローズ
mysql_close($dbcon);

?>
<input type="submit" value="登録">
</form>
</body>
</html>

A 回答 (1件)

ボタンを押されたら


・別のformをDOMで生成して、それをサブミットして遷移する。
 ※たぶん、これが正解
・GETリクエストパラメーターをセットしたURIストリングを作って、location.hrefで
遷移する。
 ※POSTリクエストは出来ない
・Xmlhttpリクエストで、POSTデータを送信し、受信側は受け取ったデータをセッション変数にでも保持し、完了メッセージを返す。送信側は完了メッセージを受け取ったら、location.hrefで送信先のページに遷移して、保存したセッション変数を参照する。
 ※面倒くさ...

この回答への補足

ありがとうございます!

ようやくできるようになりました!! 

補足日時:2010/11/04 14:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!