隐藏输入元素的 Javascript 和 defaultValue

标签 javascript dom

假设您有输入元素:

<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/

相关文章:

javascript - 单击新窗口中的链接打开新页面

javascript - 在 Bootstrap 所见即所得编辑器中验证

javascript - 如何使用javascript设置一个div来匹配浏览器窗口的高度?

javascript - 更新slot vuejs中的数据

如果我输入值,Javascript 函数会显示文本

javascript - 如何获取具有数据绑定(bind)属性的特定元素并立即调用(使用 now-active now)?

javascript - 提交表格后的最佳解决方案?

javascript - 有没有办法逐步完成 DOM 加载?

jquery - 在当前集合中添加下一个项目和下一个项目之后的项目

angularjs - 如何获取表单中的所有输入字段(AngularJS 指令)