- ベストアンサー
Formの処理分岐について
一つのフォームにSubmitボタンが二つあり、それぞれ押されたボタンによって別のASPファイルをactionとして設定したいと考えています。 このようなことは可能なのでしょうか。 また、可能な場合、どのようにすれば良いでしょうか。 (ちなみに、次のASPに渡る際、POSTでデータを渡そうと思っています。) <form action="?????.asp" method="POST"> <input type=submit name="aaa" value="1つ"> <input type=submit name="bbb" value="2つ"> </form> 上記の様な状態で、aaaの方のsubmitボタンが押された場合、aaa.aspを、bbbのSubmitボタンが押された場合、bbb.aspをCALLしたいと考えています。 どなたか、教えて頂けますでしょうか。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
JavaScriptが使用可能なら以下の方法があります。 <SCRIPT> function iSubmit(url) { document.myform.action = url; document.myform.submit(); } </SCRIPT> <form method="POST" name="myform"> <input type=button name="aaa" value="1つ" onClick="iSubmit('aaa.asp')"> <input type=button name="bbb" value="2つ" onClick="iSubmit('bbb.asp')"> </form>
その他の回答 (1)
- namachacha
- ベストアンサー率25% (1/4)
ASPはずいぶん昔にやりました。 methodをgetにして確認されたらわかると思いますが、 押されていないsubmitボタンはパラメータとして送信されません。 ですので、中継するaspを作って、パラメータが「Nullではない」かどうかを判断し、 それによって分岐する機能を実装すれば良いと思います。 実際に動かしていましたので、大丈夫だと思います。 具体的なコードは示せないです。すいません。
補足
ご回答ありがとうございます。 JavaScriptも使用出来ると思いますので、なんとかなりそうです! ただ、一つ問題が起きました。 SubmitでCallするファイルがフレーム分割を行っているページなのです。 onClickイベントでフレーム分割を行っているファイルをCallする形になると思うのですが、実際に表示されるaspファイルにはどのように値を渡せば良いでしょうか? Get形式でファイル名の後ろに「?」をつけて送信すれば、送ることが出来るのは分かるのですが、出来ればPOSTメソッドを使用したいと考えています。 もし、良い案があれば教えて頂けますでしょうか。 よろしくお願い致します。