簡體   English   中英

無法在隱藏的輸入元素上設置值

[英]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.

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