修改"值" " text"的属性输入无法使用JavaScript

时间:2015-07-17 18:54:46

标签: javascript html dom textbox

我对文本输入字段有疑问,其值由JavaScript函数修改。以下是我的代码的简化代码段:

<!doctype html>
<html>
    <meta charset="utf-8">
    <head>
        <title>Test Page</title>
        <script>
            function runScript()
            {
                document.getElementById("result").innerHTML = "Changing Text Input Value to Name 2";
                document.getElementById("name_input0").value = "Name 2";
                document.getElementById("name_hidden0").value = "Name 2";
            }
        </script>
    </head>
    <body>
    <input type="hidden" id="name_hidden0" value="Name 1"/>
    <input type="text" name="name_enter0" id="name_input0" value="Name 1"/>
    <input type="button" value="Run Script" onClick="runScript()"/>
    <div id="result"></div>
    </body>
</html>

当页面加载时,文本和隐藏输入都填充了值&#34;名称1&#34;。单击按钮时,页面如下所示:

Page View After Running JavaScript

这很有道理,但是,如果我使用开发者工具(我尝试使用Firefox和Chrome)查看源代码并查看HTML代码,我会看到以下内容:

Underlying HTML after Running JavaScript

为什么&#34;价值&#34;文本输入字段的属性在底层HTML中不会改变,但隐藏的输入&#34;值&#34;做?

1 个答案:

答案 0 :(得分:7)

对于文字输入:

HTML value属性设置默认值。

DOM value属性包含当前值。

它们之间没有1:1的映射。