我需要在页面上创建一个隐藏字段,在其中存储一些值并稍后读取该值。 如果我创建一个常规文本输入并使用jquery读取其值,我会得到正确的值。但是如果我创建一个隐藏的输入字段,用一些文本填充它并使用jquery读取它的值我得到null。
示例:
假设以下输入文本框包含值“Foo”。
<input type="text" id="inputfield"> </input>
现在,如果我$("#inputfield").val()
,我正确地得到“Foo”
但是,如果我将类型更改为“隐藏”,并设置字段的值,则使用$("#inputfield").val("Foo")
然后尝试使用$("#inputfield").val()
读取值,它将返回“”。
有人可以告诉我为什么会发生这种情况以及解决这个问题的方法吗?
谢谢。
答案 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()
隐藏它。如果您存储了用户永远不会看到的内容,则全局变量可以很好地完成。