簡體   English   中英

帶有多個提交選項的HTML表單

[英]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。 所有(非禁用)隱藏輸入(帶名稱和值)都將成功。 您無法根據與單擊的輸入元素的接近程度進行限制。

如果我正確理解您的目標,您有兩個主要選擇。

  1. 每行放一個表單(在帶有刪除按鈕的單元格中)
  2. 將id值編碼到提交按鈕的名稱中

您可以刪除隱藏的字段並將提交按鈕命名為:

<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.

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