[英]HTML form with multiple submit options
我正在嘗試創建一個用於從MySQL表中刪除項目的小型Web應用程序。 它只顯示HTML表格中的項目,並為每個項目顯示一個按鈕[delete]
:
item_1 [delete]
item_2 [delete]
...
item_N [delete]
為此,我通過PHP動態生成表格為HTML表單。 這個表格顯然有N
[delete]
按鈕。 表單應使用POST方法傳輸數據。
對於刪除,我想將相應項的ID
(MySQL表中的主鍵)提交給執行的php skript。 所以我介紹了hidden
字段(所有這些字段都有name='ID'
,用於存儲相應項目的ID
。
但是,當按下任意[delete]
,似乎總是只提交最后一個ID
(即最后一個ID
隱藏字段的值)。
有沒有辦法只提交相應項目的ID
字段而不使用多個表格? 或者只用一個提交按鈕就可以從多個表單提交數據? 或者我應該選擇任何完全不同的方式?
我想在一個單一形式中完成它的一點是,有一些“全局”參數不應放在每個項目旁邊,而是整個表格只放置一次。
<input type="submit" name="delete[1]" value="delete">
if (isset($_POST['delete'])) $id=key($_POST['delete']);
它似乎總是提交最后一個ID
它提交了所有這些,但由於名稱不以[]
結尾,因此PHP會丟棄所有內容。
有沒有辦法只提交相應項目的ID字段而不使用多個表格?
不,至少沒有一些不幸的JavaScript。 所有(非禁用)隱藏輸入(帶名稱和值)都將成功。 您無法根據與單擊的輸入元素的接近程度進行限制。
如果我正確理解您的目標,您有兩個主要選擇。
您可以刪除隱藏的字段並將提交按鈕命名為:
<input type="submit" name="delete[1]" />
<input type="submit" name="delete[2]" />
<input type="submit" name="delete[3]" />
接着
<?php
if (isset($_POST['delete'])) {
$toDeleteId = key($_POST['delete']);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.