Can';t设置隐藏输入字段';使用jQuery调用s值
我在表单标记中有一个简单的输入字段:Can';t设置隐藏输入字段';使用jQuery调用s值,jquery,hidden-field,Jquery,Hidden Field,我在表单标记中有一个简单的输入字段: <body> <form action="#"> <label>Input</label> <input type="hidden" id="foo" name="foo" /> </form> </body> 但是在html源代码中,根本没有设置属性。如果我尝试将输入类型设置为“button”或其他任何类型,它会起作用。我就是不能用隐藏的
<body>
<form action="#">
<label>Input</label>
<input type="hidden" id="foo" name="foo" />
</form>
</body>
但是在html源代码中,根本没有设置属性。如果我尝试将输入类型设置为“button”或其他任何类型,它会起作用。我就是不能用
隐藏的输入字段。我做错了什么?我需要查看整个文件,但我猜要么你没有包含jQuery.js源文件,要么你有多个ID为foo的元素
如果你设置了val标记,你能从隐藏字段中检索值吗
e、 g
$(文档).ready(函数(){
警报($('#foo').val());
})
我想出来了。这个值是由jQuery设置的,但是当我查看源代码时,没有显示新的值。我试过这个(感谢Fermin):
它显示了修改后的值。我也一直在努力解决这个问题。如果您设置了一个初始值,比如“0”,然后使用Firebug之类的东西观察DOM,您会注意到DOM随后会更新。出于某种原因,如果初始值设置为null或空字符串,则DOM不会更新,但实际上仍然存储该值
您可以通过在设置val后向val发出警报来测试这一点(如前几篇文章中所建议的)我对隐藏的输入字段也有同样的问题。
Id我将初始值设置为0,效果很好,但有时我不希望初始值为0。
所以我测试了value=“”,一个空格,它对我也适用。
如果您从PHP动态填充值,您可以在0适合您的情况下执行value=“”
,或者在空格适合的情况下执行value=“”
。当POST
-ing我的表单并且我的PHP脚本无法获得POST
-ed值时,我遇到了这个问题。我用了这个:
$('#elemId').attr("name", theValue);
希望有帮助。我找到的最好答案是表格
而不是$('#Data').val(Data)代码>其中隐藏字段ID为“数据”
使用$('input[name=Data]').val(Data)代码>
非常适合我以上解决方案都不适合我
我必须做到以下几点才能让它发挥作用:
$('#foo').val(data).blur();
而不是用字符串初始化value属性,而是像这样初始化输入
<input type="hidden" name="foo" id="foo" value="${foo}">
“foo”也将包含您设置的新值。我知道已经很晚了,但这可能会帮助某人。。。。如果上述解决方案都不起作用,就这样做吧
$(document).ready(function() {
$('#foo').attr("value","foo") });
我已经确认,设置隐藏字段的值对像这样的jQuery选择器不起作用
$('[name="my_field"]').val('Something');
将不会更新隐藏字段。。。有点令人震惊
<input type="hidden" name="my_field" id="my_field">
我建议使用firefox的firebug之类的开发工具,以便更轻松地查看动态源代码。firefox的Web Developer插件还有一个“查看生成的源代码”工具,该工具将显示应用了所有javascript更改的源代码。只是为了澄清:作者试图使用“查看源代码”查看修改后的值。注意,动态地对DOM所做的更改无法通过“查看源代码”看到。当您需要克隆隐藏的输入时,会出现这种奇怪的情况,因为这里的“数据”是输入的“名称”,而不是id。无论如何,我会投赞成票,因为我也忘记了。héhé。。。我有两个相同的身份证,有两种形式,你的回答让我想检查一下。。。谢谢如果你给输入字段一个初始值会有帮助吗?(即使是空字符串)接受的答案不会回答实际问题,尽管有助于找到解决方案。考虑到这个问题每年有超过10000次的浏览量,最好接受一个真正正确的答案。请确认。使用“”初始化隐藏的输入字段时,我无法使用jQuery更新它。当用0初始化它时,它对我有效。
$(document).ready(function() {
$('#foo').attr("value","foo") });
$('[name="my_field"]').val('Something');
<input type="hidden" name="my_field" id="my_field">
<input type="text" name="my_field" id="my_field" style="display:none">
$('[name="my_field"]').val();