Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Баг в поведении onkeyup? (https://javascript.ru/forum/dom-window/33877-bag-v-povedenii-onkeyup.html)

ratrat 12.12.2012 14:14

Баг в поведении onkeyup?
 
Вот код, больше ничего нет:
Код:

<!DOCTYPE html>
<input type="text" onkeyup = "this.value=parseInt(this.value) | 0">
</html>

Если вводим букву, то она исчезает и появляется цифра 0. Но если после этого ввести цифру 8 или 9, то они тоже затираются нулем! Остальные цифры нормально работают, не затираются. Проверено на IE7, а также Firefox 17.0.1. Подскажите в чем может быть дело? Не могли бы вы проверить на других браузерах?
PS. А если нажать и держать цифру, чтобы вывелось несколько цифр, то при отпускании значение поля изменится

lord2kim 12.12.2012 14:35

ratrat,
<!DOCTYPE html>
<html>
<body>
<input type="text" onkeyup = "this.value=parseInt(this.value) || 0">
</body>
</html>

ratrat2 12.12.2012 19:38

Вы запустите, то что привели, и будет тот же эффект, описанный мною. Почему? Да, ошибка у меня была синтаксическая.

lord2kim 12.12.2012 19:46

ratrat2, в FF 14 нормально робит
Цитата:

Сообщение от ratrat (Сообщение 220943)
PS. А если нажать и держать цифру, чтобы вывелось несколько цифр, то при отпускании значение поля изменится

с этим согласен

ratrat 14.12.2012 10:52

А не подскажете что делать то? Как бы обойти баг? И вообще, я так понимаю проблема в интерпретаторе Javascript?

Paguo-86PK 19.12.2012 07:28

После 0 (нуля) можно вводить только восьмиричности (0-7). Обойти т.н. баг легко, так как это проблема первого дня изучения js.
<!DOCTYPE html>
<html>
<body>
<input type="text" onkeyup = "this.value=parseInt(this.value,10) || 0">
</body>
</html>


Часовой пояс GMT +3, время: 03:25.