Вызываю функцию по событию onkeypress внутри которой хочу использовать значение,

IF

else
Вызываю функцию по событию onkeypress внутри которой хочу использовать значение,

которое я ввёл в поле INPUT формы. Но беда в том, что значение читается предыдущее (если ничего нет, то - 0)
Можно как-то это обойти? Задержки вводил - ничего не помагает.
для ясности вариант с alert:
<input type="text" size="3" maxlength="3" onkeypress="alert(this.value)" />
 

Андрейка

Senior pomidor developer
Задержки вводил - ничего не помагает
день юмора седня, чтоли?

а вообще - нет, с onkeypress нельзя .. можно onKeyUp - немного не то, но тоже про войну или к onkeypress проверять что там нажали (event object)
 

IF

else
Понял. Надо использовать "onkeyup"
Уже ответили.
Теперь проверку на ввод только чисел не пойму как сделать.

можно типа так:
onkeypress="flag = 0; if(!numeralsOnly(event)) { return false } else { flag = 1; } "
onkeyup="if(flag == 1) ...

работает, но не изящно:(
 

flash-vkv

Новичок
проверяй изменения значения через интервал времени
а вот чтоб запретить ввод чисел попробуй на onkeyup возврашать false, но не уверен это просто догадка вдруг сработает :)
 

IF

else
flash-vkv
На onkeyup возврат false не срабатывает. Только на onkeydown и onkeypress.
интервал времени не работает, к тому же Андрейка сказал, что это день юмора
 

flash-vkv

Новичок
IF ну да точно на onkeydown, это имел ввиду тока чтота черт попутал
а причем день юмора? на дворе октябрь
по событию window.setInterval(vCode, iMilliSeconds [, sLanguage])
проверяем изменилось ли значение в поле. это получится чтота типа имитатора onchange (в IE).
 

Андрейка

Senior pomidor developer
flash-vkv
на дворе октябрь
тебя жестоко обманули

IF
зачем тебе надо знать flag в onkeyup ? что там такого гениального он делает?
 

Gorynych

Посетитель PHP-Клуба
я все ж не понимаю, что вам тут в onkeyup не нравится, потому как он тут в самый раз. Для примера (тут немного добавленно, просто чтоб не дергаться на нажатия стрелок и т.п.):

<form onsubmit="return false">
<script type="text/javascript">
var str = '';
</script>
<input type="text" size="3" maxlength="3" onkeyup="if (this.value && this.value != str) { str = this.value; alert(str); }" />
</form>

типичное такое событие для анализирования ввода (т.е отпускания клавиши после нажатия)
 

IF

else
Андрейка
зачем тебе надо знать flag в onkeyup ? что там такого гениального он делает?
flag изменяется, если введены цифры. Соответственно ф-ия в onkeyup запускается только когда вводились цифры.
Это работает, как сделать изящнее я не знаю.
 
Сверху