Я обнаружил кое-что удивительное:
<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
, но никогда не сбрасывает скрытое поле .
Я (и другие) совсем не ожидал такого поведения: мы ожидали, что скрытое значение тоже будет сброшено!
Кто-нибудь может указать на документацию или спецификации, объясняющие, почему скрытый ввод обрабатывается по-разному кнопка сброса?
Также приветствуются объяснения, почему такое поведение желательно.