我对文本输入字段有疑问,其值由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;。单击按钮时,页面如下所示:
这很有道理,但是,如果我使用开发者工具(我尝试使用Firefox和Chrome)查看源代码并查看HTML代码,我会看到以下内容:
为什么&#34;价值&#34;文本输入字段的属性在底层HTML中不会改变,但隐藏的输入&#34;值&#34;做?
答案 0 :(得分:7)
对于文字输入:
HTML value
属性设置默认值。
DOM value
属性包含当前值。
它们之间没有1:1的映射。