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