假设您有输入元素:
<input id="aaa" type="text" value="unchanged" />
然后启动js脚本:
var e = document.getElementById("aaa");
e.value = "changed";
alert(e.defaultValue + "/" + e.value);
结果将是“未更改/已更改”。不幸的是,当您的输入元素被隐藏
时:
<input id="aaa" type="hidden" value="unchanged" />
...相同的 js 脚本似乎不再有效。结果是“改变/改变”。 这是正确的方法吗?如果是这样,为什么只有隐藏的表单元素表现不同?
最佳答案
“defaultValue”属性仅以您对“文本”、"file"和“密码”字段显然期望的方式进行维护。
Here是 DOM 规范的相关部分。
我怀疑这是因为用户事件本身无法更改隐藏元素的值。如果您想保留初始值,请在“加载”或“就绪”时运行一些程序以将值存储在某处。
关于隐藏输入元素的 Javascript 和 defaultValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5319678/