• 締切済み

FORMのaction先について

<FORM> <INPUT TYPE=text name=id> <INPUT TYPE=submit value=修正> <INPUT TYPE=submit value=削除> </FORM> 以上のようなレイアウトになっています。 idフィールドには、各々のidを入力してもらいます。 これをidの情報を保持したまま、修正ボタンと削除ボタンでformの action先を違うファイルにしたいのですが、できるのでしょうか。

みんなの回答

  • kinoata
  • ベストアンサー率23% (17/72)
回答No.5

Javascriptを使いたくないのなら、 <form action="check.php3">... で、check.php3内で、 渡された変数によって HTMLを丸ごとinclude()してやるという手もあると思います。 if(isset($edit)) include("edit.inc"); if(isset($delete)) include("delete.inc"); みたいに。

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.4

JavaScriptを使ってよいなら、Formは1つでOKですよ。 (この手の問題の常套手段です。) # <head>内 <script language="JavaScript"> <!-- function edt() {   document.form1.action="./edit.php3";   document.form1.submit(); } function del() {   document.form1.action="./delete.php3";   document.form1.submit(); } --> </script> # <body>内 <form name="form1" action="" method="post"> <input type="text" name="id"> <input type="button" value="EDIT" onClick="edt()"> <input type="button" value="DELETE" onClick="del()"> </form> どうですか?

  • cocky
  • ベストアンサー率57% (232/402)
回答No.3

修正ボタンと削除ボタンを別のFormにして、JavaScriptと組み合わせれば可能だと思いますが。 たとえばこんな感じで。 -- ここから <form name="edit" action="edit.php3"> <input type=text name=id> <input type=submit value="修正"> </form> <form onSubmit="delete_form();" name="delete" action="delete.php3"> <input type=hidden name=id value=""> <input type=submit value="削除"> </form> <script language="JavaScript"> <!-- function delete_form() { document.delete.id = document.edit.id; } // --> </script> -- ここまで #動作確認はしてないので保証はしません(笑)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.2

まず、呼び出し元のhtmlファイルの中で --- <form action="check.php3"> --- とやっておいて、とんだ先のcheck.php3の先頭で --- if(isset($edit)) Header("edit.php3"); if(isset($delete)) Header("delete.php3"); --- でリダイレクトすれば簡単では? または、 --- <form action="edit.php3"> <INPUT TYPE=text name=id> <INPUT TYPE=submit value="修正"> </form> <form action="delete.php3"> <INPUT TYPE=text name=id> <INPUT TYPE=submit value="削除"> </form> --- という方法もありますが、、、 別にボタンでなく「絵」をリンクさせてもいい様な 気がしますが、、、

zooom
質問者

お礼

ありがとうございます。phpまで分かってらっしゃったとはラッキーでした。 先ほど少し調べましたところ、今回のケースはrequireを使って対処できそうなことが分かり、進めてみております。 ご回答の前者の方法ですが、 Headerでリダイレクトも考えたのですが、なぜか「ヘッダにはもう挿入できません」みたいなエラーがなくなりませんでした。 もちろんHeaderの前に何の出力もしていないはずなんですが。 後者はユーザがidを2回書かないといけないので、今回の場合は使えません。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

<INPUT TYPE=submit value="修正" name="EDIT"> <INPUT TYPE=submit value="削除" name="DELETE"> のようにnameオプションを付けて判断すれば 良いのでは、、、

zooom
質問者

補足

回答ありがとうございます。 <FORM ACTION=edit.php3> <INPUT TYPE=text NAME=id> <INPUT TYPE=submit NAME=EDIT> <INPUT TYPE=submit NAME=DELETE> </FORM> としても、飛び先はedit.php3になりますよね。 edit.php3内ではNAME属性で判断できますが、今回私はボタンに応じて edit.php3とdelete.php3に飛び先を変えたいのです。 これはNAME属性をつけることでは解決はできないと考えています。 何かあれば、補足お願いします。

関連するQ&A