2011-03-29 29 views
0

我正在爲我們正在進行的展會製作一個小程序。 它正在爲每個展會吐出一塊關於它的信息。獲取一個<input>按鈕來攜帶一個變量?

我想在每個塊中添加一個「編輯」按鈕,帶我到一個頁面,在那裏我可以編輯特定的展會。

我怎樣才能得到編輯按鈕帶來該塊的ID?

如果我創建Value $ id,那麼我可以帶上它,但是因爲value也是按鈕上的標籤,它表示一個數字(id)而不是Edit,這不是很漂亮。

有人能幫我一下嗎? :)

+2

你能發表一些代碼嗎?包含您的編輯按鈕的示例塊將會很棒。 – drudge 2011-03-29 22:08:40

+2

發佈一些代碼,特別是你的

+0

我並不完全相信我明白爲什麼要發佈該價值。使用鏈接並通過GET獲取ID不會更容易嗎? – cbrandolino 2011-03-29 22:20:54

回答

2

您可以在形式包裝每個按鈕,像這樣:

<form action="/edit/42"><button type="submit">Edit</button></form> 

不要忘記使用合適的CSS樣式爲新的表單元素。

您也可以使用JavaScript附加任何您想要的行爲。存儲ID的數據屬性,像這樣:

<button data-edit-id="42">Edit</button> 
// In JavaScript (with jQuery) 
$('button').click(function(ev) { 
    location.href = '/edit/' + $(ev.target).attr('data-edit-id'); 
}); 
+0

+1更好的REST設計。如果你正在用'id = 42'編輯項目,當然你應該發送你的請求到一個以'/ 42'結尾的URL。 – 2011-03-29 22:38:56

0

我想補充形式爲每個塊(如果它isn't已經在那裏...),並與ID添加一個隱藏字段。

0

使用按鈕的click事件將id設置爲隱藏字段,然後提交表單。

另一種方法是讓每個按鈕都採用不同的形式,每個按鈕都有不同的動作(對應於要編輯的項目)。根據您的標記,它可能不適用。

0

我平時濫用name吧:

<input type="submit" name="edit[123]" value="edit"> 

接收代碼:

if(isset($_POST['edit'])){ 
    $id = key($_POST['edit']); 
} 
0

我不明白你爲什麼會想在這種情況下要使用的按鈕。我認爲你應該包含一個指向編輯表單的可點擊圖標。從我可以告訴的是,你的信息塊是<form>格式的原因不明,當他們應該在一個表或整齊排列的div集。

我建議你創建一個鏈接,然後在其他頁面使用$_GET['id']編輯該條目:

<a href="/edit/?id=<?php echo $tradeshowID; ?>"><img src="/icons/edit.png"></a> 

或者我不明白你的問題按鈕的目的是什麼?

相關問題