[PHP-users 7493] Re: フォーム関連の質問2
Moriyoshi Koizumi
php-users@php.gr.jp
Thu, 16 May 2002 12:54:58 +0900
小泉@町田です。
はずしていたらすいません。
そういうときは、私は次のようにしています。
----------------
<?php
if( isset( $_POST['doSubmit'] ) ) {
$act = 'submit';
} elseif( isset( $_POST['doDelete'] ) ) {
$act = 'delete';
} else {
$act = $_POST['defaultact'];
}
switch( $act ) {
case 'submit':
print "submit";
/* ---- submit が押されたときの処理 ---- */
break;
case 'delete':
print "delete";
/* ---- delete が押されたときの処理 ---- */
break;
default:
/* ---- そのほかの場合の処理 ---- */
break;
}
?>
<FORM method="POST">
<INPUT type="text" name="name">
<INPUT type="hidden" name="defaultact" value="submit">
<INPUT type="submit" name="doSubmit" value="送信">
<INPUT type="submit" name="doDelete" value="削除">
</FORM>
----------------
defaultact は、送信のときにボタンが押されなかった時に行う処理を示してます。
この場合、リターンキーで送信が行われれば、submit 処理を行います。
<INPUT type="hidden" name="defaultact" value="submit">
の箇所をはずせば、リターンキーの送信の時は
「そのほかの場合の処理」を行います。
では。
shojun kimura <k_shojun@yahoo.co.jp> wrote:
> 木村です。
>
> フォームに関連した質問、二回目です。。
> 私が実際、やっているソースコードとは内容が
> すこし、違いますが、
> たとえば、以下のようなフォームがあるとして、
>
> <form action="this.php" method="post">
> <input type="text" name="name" size=30>
> <input type="submit" name="submit" value="delete">
> <input type="submit" name="submit" value="submit">
> </form>
>
> if($submit == "submit" && $name != "")
> 名前をデータベースにいれる処理
> elseif($submit == "delete")
> 何かの項目をデータベースから消す処理
>
> ・・・のようにnameのところで、文字列をいれて、
> submitボタンを押せば、何かを送信する処理をする
> また、deleteボタンが押されれば、何かの削除処理をする
> といった処理をする時、各々のボタンが押された場合には、
> うまくそのボタンに関する処理ができますが、
>
> もし、nameのところで、文字列を入れて、ボタンを押さないで
> 、
> リターンキーを押した場合には、、deleteボタンを押してない
> のに、
> deleteの処理をしてしまいますが、何か対処法はあるんでしょ
> うか。
> 説明が悪かったり、何かほかにほしい情報があったら、
> 言ってください。
> よろしくお願いします。