2010-06-03 20 views
3

我嘗試使用onclick事件設置一些隱藏的表單域值。 好吧,我做了這樣的事情之後:使用JavaScript設置隱藏表單域值,但請求仍爲空

document.getElementById('hidden_field').value = 123; 

我可以通過進入這個Firebug控制檯輸出值:

alert(document.getElementById('hidden_field').value); 

所以值,確切地設定。但是現在當我提交表單時,隱藏的字段值仍然是空的。

你知道怎麼回事嗎?

+2

您將需要發佈您的HTML – 2010-06-03 12:36:04

+1

您可以安裝類似TamperData的東西來查看實際的HTTP請求/響應塊中的內容。 – Pointy 2010-06-03 12:37:07

+0

檢查您的'hidden_​​field'是否在表單元素中,它包含名稱和id屬性,並且表單被正確發佈。 – Nilambari 2010-06-03 12:37:04

回答

10

確保你的隱藏字段具有name屬性:

<input id="hidden_field" name="hidden_field" type="hidden" value="123" /> 

輸入沒有name屬性不會隨請求一起發送。

+3

另外請注意(這是爲OP安迪,不是你:-)你的''可以有*「id」和「name」屬性,如果需要,這些屬性的值可以是相同的。但是,給定頁面上只有一個元素可以具有特定的「id」值。 – Pointy 2010-06-03 12:43:10

+0

@Pointy:儘管評論並不針對我,但你提出了一個很好的觀點,並且我編輯了我的答案以反映出這一點,使用OP示例中給出的id :-) – 2010-06-03 12:46:46

+1

感謝你們所有人回答:) 我使用symfony php框架。在模板中有一種方法可以自動呈現所有隱藏的字段。而且我也是親手做的。所以一個領域是充滿另一個沒有。現在它工作,thx。 – ownking 2010-06-03 13:25:18