0

2 つの送信ボタンを備えた 1 つのフォームにマージしたいサイトに 2 つの類似したフォームがあります。それらはほとんど同じデータを使用します。

最初の形式は、GET を使用してデータを別のサーバーに送信します。2 番目のフォームは、メールで送信します。オプション 2 を試す前に、オプション 1 を使用することをサイト ユーザーに強くお勧めします。

私はjavascriptでこれを行う方法を知っていますが、うまく劣化する方法ではありません。2 つの送信オプションを持つ他の方法はありますか? または、これを達成するための他のアイデアはありますか? ありがとう!

4

3 に答える 3

2

Snow Blindは適切なソリューションを提供しましたが、どのボタンがクリックされたかを判断できません。
ボタンには、同じ名前ではなく、異なる名前を付ける必要があります。

例:

<input type="submit" name="server" value="Server" />
<input type="submit" name="email" value="Email" />

<?php

if(isset($_GET['server']))
{
    // Send to another server
}
else if(isset($_GET['email']))
{
    // Send to email
}
else die("None of buttons was clicked.");

?>

さらに、両方の部分 (サーバーと電子メール) に同じコードがある場合は、次のことができます。

if(isset($_GET['server']) || isset($_GET['email']))
{
    // Do something common to both methods
    if(isset($_GET['server'])) 
    {
        // Send to server
    }
    else 
    {
        // Send to email
    }
}




私の意見では、より良い解決策は、送信ボタンを 1 つだけ配置し、方法を選択するドロップダウン メニューを配置することです。

<select name="sendMethod">
    <option value="" disabled>Choose sending method...</option>
    <option value="server">Send to another server</option>
    <option value="email">Send to e-mail</option>
</select>
于 2012-07-27T21:06:05.113 に答える
0

誰もが言ったように、チェックボックス/ラジオボタンのいずれかを使用してください。そして、デフォルトのオプションとしてGETを使用するものを設定します

JavaScript を使用したくない場合は、いつでもチェックボックス/ラジオの値を取得して、ユーザーの選択を確認できます。

于 2012-07-27T21:21:45.480 に答える
-1

2 つの送信ボタンを作成し、それらに同じnameで異なるvalue.

<input type="submit" name="submit" value="Server">
<input type="submit" name="submit" value="Email">

次に、$_GET['submit']または$_POST['submit']( に応じてform method) をチェックして、どの送信が使用されたかを確認できます。

于 2012-07-27T20:57:10.457 に答える