sam*_*fer 1 html javascript 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>
Run Code Online (Sandbox Code Playgroud)
页面加载时,文本和隐藏输入都填充值"名称1".单击按钮时,页面如下所示:

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

为什么文本输入字段的"value"属性在底层HTML中没有改变,但隐藏的输入"value"呢?
对于文本输入:
HTML value属性设置默认值.
DOM value属性保存当前值.
它们之间没有1:1的映射.