[英]Can't set value on hidden input element
我在設置隱藏輸入元素的值時遇到問題。 我嘗試過使用jQuery和$("#SomeHiddenElement").val(sSomeValue)
函數,以及普通的JS document.getElementById("SomeHiddenElement").value = sSomeValue;
但沒有任何作用......
當我將元素設置為文本類型時,它工作得很好......
問題在FF和IE中都存在。
有任何想法嗎?
碼:
<input type="hidden" id="SomeHiddenElement" name="SomeHiddenElement" value="" />
document.getElementById("SomeHiddenElement").value = "Testing";
因為我不相信firebug在更新它的DOM表示時有問題,並且你的代碼在孤立的情況下運行良好,並且你沒有文本輸入的問題,並且我自己從未遇到過更新隱藏輸入的問題,我會建議其他東西對隱藏的輸入采取行動來阻止你正在做的事情。
我建議您創建一個剝離了所有內容的測試頁面,除了您在此處提供的內容,然后逐步添加功能以實現真實頁面的狀態。 在某些時候它會破裂,你至少會知道問題所在。
伙計們,我很抱歉......問題出在Firebug和我的郵政處理代碼的組合......我已修好了...
故事的道德:仔細檢查代碼,不要盲目相信Firebug。
謝謝你的麻煩!
你的代碼很好。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Setting the value of a hidden field</title>
</head>
<body>
<input type="hidden" id="SomeHiddenElement" value="">
<script>
document.getElementById('SomeHiddenElement').value = 'Hello World';
</script>
<script>
// Will alert 'Hello World'
alert(document.getElementById('SomeHiddenElement').value);
</script>
</body>
</html>
您是如何測試隱藏字段的值未設置的? 由於隱藏字段是不可見的,因此您可以在使用JavaScript或發布表單時查看內部的內容。
這兩個都有效:
$('#SomeHiddenElement').attr("value", "some text");
$('#SomeHiddenElement').val("some text");
使用Chrome開發者工具和Firebug進行驗證
你能試一下嗎:
$('#SomeHiddenElement').attr("value", "some text");
這只是一個簡單的jQuery解決方案,用測試文本設置屬性“value”。
編輯:
好吧,試試這個:
alert($("input[type='hidden']").length);
這是為了查看頁面上有多少隱藏的輸入元素。
我知道這已經很長時間了,但是我遇到了同樣的問題,我花了一些時間才發現我在頁面上有多個元素(確切地說)有相同的id =“”而且它似乎是我的JS函數不起作用(我猜它只修改了第一個元素的值)。 無論如何,這可能有助於某人節省一些時間調查:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.