[英]Multiple submit button in a form
嘿,我是網絡編程的新手。 我過去幾天一直在學習PHP,但我堅持一件事。
我的代碼中有一個表單標簽,它有兩個提交按鈕來操作數據。 由於我的表單標簽上只能有一個操作定義,因此它只能引導我訪問一個頁面。 (不太確定)
現在,根據單擊表單上的按鈕,我想加載一個不同的頁面。 一種方法是檢查在if-else構造中單擊的按鈕,然后在分支中使用echo'...'並顯示它就像是不同的頁面。 但出於某種原因,這似乎並不合適。 有人可以給我一個更好的解決方案嗎? 謝謝。
一種方法是使用Javascript根據單擊的控件切換表單的操作。 以下示例使用jQuery庫:
<form id="theForm" action="foo.php">
...
<input id="first" type="submit"/>
<input id="second" type="submit"/>
</form>
$(document).ready(function() {
$("#theForm input").click(function(e) {
e.preventDefault();
if(e.target.id == 'first') {
$("#theForm").attr("action", "somePage.php");
} else {
$("#theForm").attr("action", "anotherPage.php");
}
alert($("#theForm").attr("action"));
$("#theForm").submit();
});
});
在這里演示: http : //jsfiddle.net/CMEqC/2/
但出於某種原因,這似乎並不合適。
這是錯誤的假設。
任何其他解決方案都會更糟糕。
檢查服務器端是唯一可靠的解決方案。
然而,分支中的echo
不是必需的。 還有很多其他方法。
使用include
語句是最明顯的一個。
僅作為參考... int HTML5按鈕可以重新定義表單的動作,方法,類型等.http://w3schools.com/html5/tag_button.asp對我來說,這是控制表單的好方法:)
添加基於@ karim79的另一個解決方案,因為它用PHP標記:
<form id="theForm" action="foo.php">
...
<input id="first" name="button" value="first" type="submit"/>
<input id="second" name="button" value="second" type="submit"/>
</form>
在你的foo.php中,做這樣的事情:
<?php
$submit = isset($_GET['button']) ? trim($_GET['button']) : '';
if($submit == 'first')
{
header('Location: somePage.php');
}
else if($submit == 'second')
{
header('Location: anotherPage.php');
}
?>
摘要:為了能夠讀取您的按鈕(2個提交按鈕),您需要在每個按鈕上添加name
。 為簡單起見,只需在兩者上使用相同的名稱即可。 然后,添加不同的value
。 接下來,您需要通過檢查該特定按鈕上發送的值來了解正在單擊的按鈕 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.