電子書籍の厳選無料作品が豊富!

htmlの問題なので、カテゴリがhtmlかphpか迷いましたがphpで質問します。

htmlにおいて、form中にsubmitボタンを2個置きたいのです(例、修正ボタンと削除ボタン)。普通ならnameで区別しろということになり、飛び先(例えばaction=judge.php)中でnameで分岐させることになると思います。

ところが、現在phpフレームワークベースで開発しており、上記2つの処理を行うphpがすでにあるため、htmlからは、ボタンのactionによりそれぞれ別のphpを呼び出したいのです。以下に擬似コードを示しますが、以下のようにformが2つだと商品コード入力が2つになり、なんともおかしいので困っています。

form method=post action=edit.php
input type=text 商品コード, input type=submit 修正

form method=post action=delete.php
input type=text 商品コード, input type=submit 削除

質問のように1つのformに対して複数のsubmitを置くか、あるいは2つのformでも上記商品コードが1つであれば問題ないので、もしそのような方法があればご教示をよろしくお願いします。

A 回答 (2件)

PHPとは関係なさそうですが、1つのformでsubmitによりactionを切り替えたい時


私なら下記のようなコードを使います。参考になれば幸いです

<form name="form1" method="POST">
<input type="text" name="code" value="商品コード">
<input type="button" value="修正" onClick="javascript: form1.action ='edit.php';submit();" />
<input type="button" value="削除" onClick="javascript: form1.action ='delete.php';submit();" />
</form>
    • good
    • 0
この回答へのお礼

はい、本来はphpとは関係ありませんが、教えていただいたものが、求めていた答えでした。ありがとうございました。

お礼日時:2008/12/01 19:34

>上記2つの処理を行うphpがすでにあるため



結局、一度うけるページはひとつにして、そこからPEARの
HTTP_Requestなどで分岐してPOSTを各ページにおくってやるのが
もっとも単純なフローでは?

もしそうではないなら環境依存になりますがjavascriptなどの
クライアントサイドのプログラムで処理することになります
    • good
    • 0
この回答へのお礼

>結局、一度うけるページはひとつにして、
やっぱりそうですよね。

フレームワークにはcontroller->redirect()関数があるので、受け口のphpを追加すれば処理できると思います。ただ、そうしなかったのはphp毎にhtmlを用意しなければならないようで、htmlまで増やしたくなかったので。

javascriptも検討して、いずれか容易な方法で実装しようと思います。ありがとうございました。

お礼日時:2008/12/01 13:08

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