Запустите это в IE 7,8 или 9.
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>IE input value</title>
</head>
<body>
<form action="">
<input id="test" type="text" name="username">
</form>
<script>
var input = document.getElementById("test");
alert(input.value);
setTimeout(function() {
alert(input.value);
}, 2000);
</script>
</body>
</html>
Если вы вводите значение вручную, затем нажимаете «обновить», первое предупреждение пусто, второе оповещает, что вы набрали, так чтоПохоже, что IE "немного заполняет" поле снова.
Вопрос : кто-нибудь еще испытывает это, и если да, то есть ли лучший способ, чем использовать setTimeout здесь?
Кстати: Firefox предупреждает о том, что вы напечатали два раза (как я и ожидал).