JQuery和隐藏的字段

时间:2009-11-30 15:46:53

标签: jquery html

我需要在页面上创建一个隐藏字段,在其中存储一些值并稍后读取该值。 如果我创建一个常规文本输入并使用jquery读取其值,我会得到正确的值。但是如果我创建一个隐藏的输入字段,用一些文本填充它并使用jquery读取它的值我得到null。

示例:

假设以下输入文本框包含值“Foo”。

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

现在,如果我$("#inputfield").val(),我正确地得到“Foo”

但是,如果我将类型更改为“隐藏”,并设置字段的值,则使用$("#inputfield").val("Foo")然后尝试使用$("#inputfield").val()读取值,它将返回“”。

有人可以告诉我为什么会发生这种情况以及解决这个问题的方法吗?

谢谢。

4 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:0)

不可重复。提供更多代码/ html /上下文信息/错误消息。

点击此处查看正确工作的示例http://jsbin.com/utunu3/(代码为http://jsbin.com/utunu3/edit

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

首先警告一个空字符串然后foo。

答案 2 :(得分:0)

隐藏字段或其他类型的输入字段应该表现相同。也许你在某个地方有另一个错误。

答案 3 :(得分:0)

你不写type="hidden",你可以通过分配CSS语句display: none使其隐藏,或者使用jQuery的$(element).hide();.fadeOut()隐藏它。如果您存储了用户永远不会看到的内容,则全局变量可以很好地完成。