我一直在尝试使用jQuery设置表单中隐藏字段(hidden field)的值,但一直没有成功。
以下是一个示例代码,用于说明问题。如果我将输入类型保持为“文本”(text),则可以顺利地工作。但是,将输入类型更改为“隐藏”(hidden),就无法正常工作!
<html>
<head>
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
$("input:text#texens").val("tinkumaster");
});
});
</script>
</head>
<body>
<p>
Name:
<input type="hidden" id="texens" name="user" value="texens" />
</p>
<button>
Change value for the text field
</button>
</body>
</html>
我还尝试了以下解决方法,将输入类型设置为"text",然后使用"display:none"样式隐藏输入框。但是,这个方法也失败了!
看起来jQuery在设置隐藏或不可见输入字段时有些问题。
你有什么想法吗?是否有真正有效的解决方法可以解决这个问题?
val()
在隐藏输入上运行良好,将值从“未更改”更改为“已更改”。我已经修改了示例,包括您上面粘贴的代码,并添加了一个警报以确认值的更改:http://jsbin.com/elovo/2/edit - Andy E