2009-11-30 94 views
0

我需要在頁面上創建一個隱藏字段,在其中存儲一些值並稍後讀取該值。 如果我創建一個常規的文本輸入並使用jquery讀取它的值,我會得到正確的值。但是,如果我創建一個隱藏的輸入字段,填充一些文本,並閱讀它的價值使用jquery我得到空。JQuery和隱藏字段

例如:

假設下面的文本框中輸入包含值 「富」。現在

<input type="text" id="inputfield"> </input> 

,如果我這樣做$("#inputfield").val(),我正確地得到「富」

但是,如果我改變的類型爲「隱藏」,並設置字段的值,使用$("#inputfield").val("Foo")然後嘗試閱讀值使用$("#inputfield").val(),它返回「」。

有人可以告訴我爲什麼會發生這種情況,並以任何方式解決這個問題?

謝謝。

+0

這應該工作。你確定你將隱藏文本的ID設置爲「inputfield」嗎? – CAbbott 2009-11-30 15:53:55

回答

1

以下預期一樣:

alert($("input#fooBox").val()); // alert default value 
$("input#fooBox").val("end test"); // change value 
alert($("input#fooBox").val()); // alert new value 

<input type="hidden" id="fooBox" value="hello world" /> 
+0

感謝喬納森,這工作! :) – Tomw 2009-11-30 15:56:17

0

不可再現。提供更多的代碼/ html /上下文信息/錯誤消息。這裏(的代碼http://jsbin.com/utunu3/edit)正確工作示例http://jsbin.com/utunu3/

檢查

<input type="hidden" id="inputfield"> </input> 
alert($("input#inputfield").val()); 
$("input#inputfield").val("foo"); 
alert($("input#inputfield").val()); 

警報第一空字符串,然後FOO。

0

隱藏字段或其他類型的輸入字段應該表現相同。也許你在某個地方有另一個錯誤。

0

你不寫type="hidden",你要麼讓它隱形通過指定CSS語句display: none或使用jQuery的隱藏$(element).hide();.fadeOut()。如果你存儲了用戶永遠不會看到的東西,那麼全局變量就能很好地工作。