簡體   English   中英

一表格二提交按鈕

[英]One form two submit buttons

我在網站上有兩種相似的表單,我想通過兩個提交按鈕合並為一種表單。 他們使用大多數相同的數據。

第一種形式使用GET將數據發送到另一台服務器。 第二種形式通過電子郵件發送。 我強烈建議網站用戶在嘗試方法二之前先使用方法一。

我知道如何使用javascript做到這一點,但不會以降低效果的方式實現。 還有其他兩種提交方式嗎? 或其他想法如何做到這一點? 謝謝!

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>

就像每個人所說的,使用復選框/單選按鈕。 並設置使用GET作為默認選項的

如果您不想使用javascript,則始終可以獲取復選框/單選的值和,並檢查用戶選擇

您可以創建兩個提交按鈕,並為其指定相同的name但使用不同的value

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

然后,您可以檢查$_GET['submit']$_POST['submit'] (取決於form method )以查看使用了哪個提交。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM