Pourquoi le bouton de réinitialisation sur les formulaires html de ne pas réinitialiser les champs cachés?

J'ai découvert quelque chose de surprenant:

<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> 

Essayer cela dans Firefox 4.0.1, en cliquant sur effacer revient toujours à la saisie de texte à 5, mais jamais réinitialise le champ caché.

Je (et d'autres) n'a pas s'attendre à ce comportement à tous: nous nous attendions à ce que la valeur cachée pour obtenir réinitialiser trop!

Quelqu'un peut-il point de la documentation ou de spécifications, ce qui expliquerait pourquoi le caché d'entrée est traitée différemment par le bouton de réinitialisation?

Explications pourquoi un tel comportement est souhaitable sont également les bienvenus.

Quelle est la valeur du champ caché après la réinitialisation?
le même qu'il était avant la réinitialisation. E. g. si je clique sur le "Incrémenter" bouton 5 fois il devient 10, et des séjours de 10 après l'cliquant sur réinitialiser.
stackoverflow.com/questions/2559616/... w3.org/Bugs/Public/show_bug.cgi?id=8506

OriginalL'auteur trutheality | 2011-06-16