gpt4 book ai didi

html - 为什么 html 表单上的重置按钮不重置隐藏字段?

转载 作者:技术小花猫 更新时间:2023-10-29 12:47:32 24 4
gpt4 key购买 nike

我发现了一些令人惊讶的事情:

<html>
<head>
<script type="text/javascript">
function f()
{
document.getElementById("h").value++;
document.getElementById("x").value++;
}
</script>
</head>
<body>

<form>
<input type="hidden" name="hidden" id="h" value="5"/>
<input type="text" id="x" value="5"/>
<input name='clear' type='reset' id='clear' value='Clear'>
</form>

<button type="button" onclick="f()">Increment</button>
<button type="button" onclick="alert(document.getElementById('h').value)">Show hidden</button>

</body>
</html>

在 Firefox 4.0.1 中尝试此操作,单击清除总是将文本输入重置为 5,但从不重置隐藏字段

我(和其他人)根本没有预料到这种行为:我们希望隐藏值也会被重置!

谁能指出解释为什么隐藏输入被重置按钮区别对待的文档或规范?

也欢迎解释为什么需要这种行为。

最佳答案

FWIW,我想我可以从答案和评论中整理出完整的故事。

使用原理:清除按钮用于清除用户输入,并且由于用户无法直接访问隐藏输入,因此允许用户重置隐藏输入没有意义值(value)。

文档和行为:bug report AR 指出的是关于正在发生的事情的明确说明:隐藏字段的 value 的模式是 default , 正如在 specs 中所预期的那样.
特别是,这意味着更改值(如问题中的示例代码中所示)会更改默认值,并且重置按钮会将输入字段重置为默认值,因此没有变化。
文本输入的行为不同(即使它的值也以编程方式更改)因为它的 value 模式不是默认模式而是 value ,这意味着输入的默认值和当前值之间存在区别。

关于html - 为什么 html 表单上的重置按钮不重置隐藏字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6367793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com