フォームのACTIONスクリプト数
- 0 名前: 零 : 2004/06/10 19:14
- 一つのフォームに複数のボタンがあって、それぞれが呼ぶACTION SCIPTが違うということはできますか?
例えば、
<FORM NAME=test ACTION=action1.php METHOD=post>
<TABLE>
............
<INPUT TYPE=submit NAME=submit VALUE=submit> <--action1.phpを実行
</FORM>
でも、FORM内に更にボタンを増やして、
<INPUT TYPE=submit NAME=submit VALUE="データを追加する">
このボタンが押されたら、action2.phpを呼ぶようにしたいですが。
HTML上、テーブルの設計関係上、ボタンが上の<FORM>内に書かなければなりません・・
どのようにこのボタンだったら、action2.phpスクリプトを呼ぶようにすればいいですか?
- 1 名前: Sinryow : 2004/06/11 00:43 [URL]
- HTMLソースはそのままで良いです。
action1.php の中で $_POST['submit'] の値を調べてみて下さい。
「submit」ボタンを押した時はこの値が「submit」になり,「データを追加する」ボタンを押した時はこの値が「データを追加する」になります。
ですから,action1.phpの先頭で
if($_POST['submit']=="データを追加する"){
require 'action2.php';
exit(0);
}
とすればよいでしょう。
- 2 名前: 零 : 2004/06/11 10:48
- それもやってみましたが、やはりaction1.phpが呼ばれました・・
他の方法は思い浮かべないです・・ *考え中*
- 3 名前: 零 : 2004/06/14 17:21
- 変更して、
<INPUT TYPE=text NAME=price SIZE=20>
<INPUT TYPE=button NAME=submit VALUE=add onClick=add()>
にして、JavaScriptを使うことにした。
<script language="JavaScript" type="text/JavaScript">
<!--
function add(){
............ここでPHP呼びたいですね・・・
テキストボックスpriceの値をPHPに渡して、SQLでDBに登録したいです。
}
JSはどのようにPHPを呼べばいいでしょうか・・
- 4 名前: Sinryow : 2004/06/15 01:09 [URL]
- それなら楽ですね。
location.href="action2.php?value="+document.test.price.value;
として,action2.php側で $_GET['value'] の値を見ればよいでしょう。
- 5 名前: 零 : 2004/06/15 13:30
- そうですね・・
ただ、もう一つの問題が存在してます。
action2.phpを実行し終わったら、再び元のフォームに戻りたいのですが・・
Header(Location:元のフォーム)で実現しようとしたところ、Headerをmodifyできない
というエラーが表示されました・・