プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (5件)

<INPUT TYPE=submit value="修正" name="EDIT">


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

この回答への補足

回答ありがとうございます。
<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属性をつけることでは解決はできないと考えています。
何かあれば、補足お願いします。

補足日時:2001/05/02 18:15
    • good
    • 0

まず、呼び出し元の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>
---
という方法もありますが、、、


別にボタンでなく「絵」をリンクさせてもいい様な
気がしますが、、、
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/05/02 19:24

修正ボタンと削除ボタンを別の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>
-- ここまで

#動作確認はしてないので保証はしません(笑)
    • good
    • 0

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>

どうですか?
    • good
    • 0

Javascriptを使いたくないのなら、



<form action="check.php3">...

で、check.php3内で、
渡された変数によって
HTMLを丸ごとinclude()してやるという手もあると思います。

if(isset($edit))
include("edit.inc");
if(isset($delete))
include("delete.inc");

みたいに。
    • good
    • 0

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