使用 JavaScript 修改 "text" 输入的 "value" 属性无效
Modifying "value" attribute of "text" input not working using JavaScript
我有一个关于文本输入字段的问题,其值由 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>
当页面加载时,文本和隐藏输入都填充了值 "Name 1"。当我点击按钮时,页面如下所示:
这非常有道理,但是,如果我使用开发人员工具(我尝试过 Firefox 和 Chrome)查看源代码并查看 HTML 代码,我会看到以下内容:
为什么文本输入字段的 "value" 属性在底层 HTML 中没有改变,但隐藏输入 "value" 却改变了?
对于文本输入:
HTML value
属性设置 默认 值。
DOM value
属性 保存 当前 值。
它们之间没有 1:1 映射。
我有一个关于文本输入字段的问题,其值由 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>
当页面加载时,文本和隐藏输入都填充了值 "Name 1"。当我点击按钮时,页面如下所示:
这非常有道理,但是,如果我使用开发人员工具(我尝试过 Firefox 和 Chrome)查看源代码并查看 HTML 代码,我会看到以下内容:
为什么文本输入字段的 "value" 属性在底层 HTML 中没有改变,但隐藏输入 "value" 却改变了?
对于文本输入:
HTML value
属性设置 默认 值。
DOM value
属性 保存 当前 值。
它们之间没有 1:1 映射。