3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個贊
使用類似如下的HTML表單:
<input type="submit" name="btnSubmit" value="Save Changes" />
<input type="submit" name="btnDelete" value="Delete" />
使用的PHP代碼如下所示:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Something posted
if (isset($_POST['btnDelete'])) {
// btnDelete
} else {
// Assume btnSubmit
}
}
您應(yīng)該始終假定或默認(rèn)為第一個提交按鈕以HTML源代碼的形式出現(xiàn)。實(shí)際上,在以下情況下,各種瀏覽器會可靠地發(fā)送帶有發(fā)布數(shù)據(jù)的提交按鈕的名稱/值:
用戶使用鼠標(biāo)或定位設(shè)備從字面上單擊提交按鈕
或者將焦點(diǎn)放在“提交”按鈕(它們在選項(xiàng)卡上)上,然后Enter按鍵。
存在其他提交表單的方法,并且在某些情況下,某些瀏覽器/版本決定不發(fā)送任何提交按鈕的名稱/值。例如,許多用戶Enter在光標(biāo)/焦點(diǎn)位于文本字段上時通過按鍵提交表單。表單也可以通過JavaScript以及其他一些晦澀的方法提交。
請務(wù)必注意此細(xì)節(jié),否則用戶提交表單時確實(shí)會讓他們感到沮喪,但是“什么也沒有發(fā)生”并且其數(shù)據(jù)丟失,因?yàn)槟拇a無法檢測到表單提交,因?yàn)槟鷽]有預(yù)料到事實(shí)提交按鈕的名稱/值可能不會與帖子數(shù)據(jù)一起發(fā)送。
另外,上述建議也應(yīng)用于帶有單個提交按鈕的表單,因?yàn)槟鷳?yīng)始終假定默認(rèn)的提交按鈕。
我知道互聯(lián)網(wǎng)上充斥著大量的表單處理程序教程,并且?guī)缀跛兴鼈兌贾粰z查提交按鈕的名稱和值。但是,他們只是錯誤的!

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個贊
在HTML中:
<input type="submit" id="btnSubmit" name="btnSubmit" value="Save Changes" />
<input type="submit" id="btnDelete" name="btnDelete" value="Delete" />
在PHP中:
if (isset($_POST["btnSubmit"])){
// "Save Changes" clicked
} else if (isset($_POST["btnDelete"])){
// "Delete" clicked
}

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個贊
您只需將name屬性賦予每個按鈕即可。并且您需要解決PHP腳本中每次按下按鈕的問題。但是請注意為每個按鈕賦予唯一的名稱。因?yàn)镻HP腳本大多數(shù)時候只使用名稱
<input type="submit" name="Submit_this" id="This" />
- 3 回答
- 0 關(guān)注
- 1018 瀏覽
添加回答
舉報