• 締切済み

PHP-メールフォームのプルダウンメニュー

お世話になります。 現在、メールフォームのプルダウンメニューで下記のコードにより選択項目によってリンク先のページを切り替えて表示しています。 <form method="POST" name="form_select" id="sample_1"> <script><!-- function change_action_to(){ var 変更する項目一覧=new Array("","201501_1.php","201502_1.php","201503_1.php","201504_1.php","201505_1.php","201506_1.php","201507_1.php","201508_1.php","201509_1.php","201510_1.php","2015011_1.php","2015012_1.php"); var 選んである項目の番号=document.getElementById("sample_1_1").selectedIndex; var actionを変更したいフォームのオブジェクト=document.getElementById("sample_1"); actionを変更したいフォームのオブジェクト.setAttribute("action",変更する項目一覧[選んである項目の番号]); } //--></script> さらに、もう一つのプルダウンメニューで選択肢が「A」と「B」があり、 例えば1つ目で「2015年1月」を選択し、2つ目で「A」を選んだ場合、「201501_1a.php」へ もしくは1つ目で「2015年1月」を選択し、2つ目で「B」を選んだ場合、「201501_1b.php」へ と別ページへリンクする方法が知りたいです。 どなたかご教授お願いいたします。

みんなの回答

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

<form method="POST" name="form_select" id="sample_1"> form要素のaction属性を変更したい(POST先のスクリプトを変えたい)というのであれば、JavaScriptの質問になりますのでカテゴリ違いです。 <form method="POST" action="sample_1.php" name="form_select" id="sample_1"> としておいて、sample_1.phpでプルダウンメニュー(というかselect要素)で選択した値によって処理を変えたり処理した後の遷移先画面を変えたいということでしたら、sample_1.phpでの処理です。select要素で選択した値を元に処理すればいいと思いますが・・・

  • t_ohta
  • ベストアンサー率38% (5230/13681)
回答No.1

PHPのカテゴリーに投稿されているので、PHPで処理したいと言う事でいいでしょうか。 formのactionで適当なPHPファイルを指定しておき、プルダウンAの値とプルダウンBの値を元に遷移先のURLを生成するのが順当でしょう。 単純なやり方ならプルダウンAのvalueに「201501_1」とか「201502_1」を入れておき、プルダウンBのvalueは「a」「b」にしておけば、取得した値を文字列結合するだけでファイル名を生成できますので、リダイレクトを掛けてやればいいでしょう。 遷移後のページで「201501_1a.php」や「201501_1b.php」というファイル名を見せる必要が無いのであれば、POSTされてきた値を元に各処理が書かれたファイルをincludeして処理すればリダイレクトの必要が無くなり、スマートだと思います。

関連するQ&A

専門家に質問してみよう