我有一個網站兩個類似的形式,我想合併成一個形式兩個提交按鈕。他們使用大部分相同的數據。一種形式兩個提交按鈕
第一種形式使用GET將數據發送到另一臺服務器。第二種形式通過電子郵件發送。我想強烈鼓勵網站用戶在嘗試選項二之前使用選項一。
我知道如何使用JavaScript做到這一點,但不是在降低一個很好的方式。任何其他方式有兩個提交選項?或者如何完成這一點的其他想法?謝謝!
我有一個網站兩個類似的形式,我想合併成一個形式兩個提交按鈕。他們使用大部分相同的數據。一種形式兩個提交按鈕
第一種形式使用GET將數據發送到另一臺服務器。第二種形式通過電子郵件發送。我想強烈鼓勵網站用戶在嘗試選項二之前使用選項一。
我知道如何使用JavaScript做到這一點,但不是在降低一個很好的方式。任何其他方式有兩個提交選項?或者如何完成這一點的其他想法?謝謝!
您可以創建兩個提交按鈕,並給他們同樣的name
但不同value
。
<input type="submit" name="submit" value="Server">
<input type="submit" name="submit" value="Email">
然後你就可以檢查$_GET['submit']
或$_POST['submit']
(取決於form method
)來查看使用了哪個提交。
雪盲提供了良好的解決方案,但你不能確定哪個按鈕被點擊。
按鈕必須有不同的名稱,不一樣。
例子:
<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你總是可以得到的價值和複選框/收音機和檢查用戶選擇
你可以從字面上使用兩個提交按鈕,具有不同的名稱或值,並根據與您定義的按鈕相匹配的$ _POST變量檢查您想要執行的操作。 – 2012-07-27 20:55:44
爲什麼不只有一個提交按鈕,然後有一些單選按鈕供用戶選擇?然後在服務器端處理它。兩個提交按鈕可能會讓訪問者感到困惑。 – j08691 2012-07-27 20:55:57
很多人都建議在表單中使用下拉/收音機,所以我想我應該提供更多的細節。表格是一個圖書館。第一種形式是查看圖書館是否有物品,第二種形式是給圖書管理員發郵件並要求她訂購。人們一直在跳過第一種形式,這就是爲什麼我想合併它們。我的計劃是將第一個提交按鈕設置爲「在提交請求之前請先檢查此處」。我認爲尼古拉的解決方案應該爲此工作? – 2012-07-28 13:48:25