【问题标题】:Setting defaultValue of HTML Text input field in Chrome VS IE9在 Chrome VS IE9 中设置 HTML 文本输入字段的默认值
【发布时间】:2013-08-16 09:56:10
【问题描述】:

如果我有以下 HTML

    <input type="text" name="Text1" value="MyText" id="Text1"/>

如果我在页面之后运行以下 javascript 代码

var text = document.getElementById("Text1");
text.defaultValue = "i am default value";

设置输入字段的默认值我会根据浏览器得到两种不同的反应。 在 IE9 中,值没有改变,但默认值改变了,这实际上是预期的行为。 在 Chrome(和 Firefox)中, value 和 defaultValue 都被更改了。为什么? 但是,如果我运行这个 JavaScript

var text = document.getElementById("Text1");
text.value = text.value; // No functional change, however triggers something in the DOM
text.defaultValue = "i am default value";

然后它按预期工作,即它只是在 Chrome 中更改的 defaultValue

关于为什么以及如何使 Chrome(和 Firefox)像 IE9 一样运行的任何想法?

【问题讨论】:

  • 关于为什么以及如何让 Chrome(和 Firefox)像 IE9 一样运行的任何想法? -- 首先是堆栈溢出?
  • 你不是自己回答了吗?遍历所有文本字段并执行 a=a 事情。你说然后它按预期工作。

标签: javascript google-chrome browser internet-explorer-9


【解决方案1】:

defaultValue 通常是元素的值直到用户与该元素交互。一旦用户与元素交互,value 属性不会在 defaultValue 属性更改时更改。 在用户交互之前更改 defaultValue 属性时,大多数浏览器都会更新元素的 value 属性。这种行为在浏览器之间可能不一致。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-25
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多