Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   обработчик события "остоновка ввода" (https://javascript.ru/forum/events/6173-obrabotchik-sobytiya-ostonovka-vvoda.html)

flame84 16.11.2009 11:14

обработчик события "остоновка ввода"
 
Подскажите, как реализовать такую чтуку.
Есть поле инпут. Для него есть проверка на валидность.
Как сделать чтобы проверка сработала в тот момент когда пользователь перестал вводить текст.

Всем зарание спасибо.

Riim 16.11.2009 11:43

На keydown input-а вешаешь обработчик, который обнуляет предыдущий timeout и на том же свойстве создает новый. Если timeout сработает (т. е. пользователь перестал вводить текст, пока он вводит, создающиеся timeout-ы обнуляются), то запускаешь валидацию.

flame84 16.11.2009 12:00

Не могу понять почему не работает. Поидее после остановки ввода должно вылететь собщение но этого не наблюдается

<html>
   <head>
   <title>Javascript counter</title>
<script language="Javasc ript">
function count()
{
 alert('че стаим');
}

</script>
  </head>
  <body>
    <input type="text" size="30" name="key" OnKeyDown="count();">
  </body>
</html>

Riim 16.11.2009 14:02

1. имена событий пишутся в нижнем регистре.
2. атрибута "language" у тега "script" нет, есть атрибут "type".

flame84 17.11.2009 08:41

ниче не поменялось, все равно не работает.

Не могу понять почему не работает. Поидее после остановки ввода должно вылететь собщение но этого не наблюдается 

Выделить все
<html>
   <head>
   <title>Javascript counter</title>
<script type="text/javascript">
function count()
{
 alert('че стаим');
}
 
</script>
  </head>
  <body>
    <input type="text" size="30" name="key" onkeydown="count();">
  </body>
</html>

flame84 17.11.2009 08:46

А нет все заработало, большое спасибо ))
есчо может подскажете в чем проблема, скрипт работает в ИЕ и ОПЕРА, а в мозиле не работает.
function getRadioGroupValue(radioGroupObj)
{
  for (var i=0; i < radioGroupObj.length; i++)
    if (radioGroupObj[i].checked) return radioGroupObj[i].value;
  return 0;
}

function test_change (n)
{


var x1 = parseInt(getRadioGroupValue(document.online.lang));
var x2 = parseInt(getRadioGroupValue(document.online.steam));
var sum = x1 + x2;

for (i = 1; i<=n; i++) {
if (document.getElementById('plugin'+i).checked){
var x = parseInt(document.getElementById('plugin'+i).value);
sum = sum + x;
}
}



document.getElementById('sum').value = sum;
}

flame84 17.11.2009 09:09

я так понимаю что скрипт почему то не воводит даные в нужный див

пробовал так но все равно в мазиле ничего не отображается в нужном диве.
document.all.resultat.innerHTML = sum;

flame84 17.11.2009 09:28

все спасибо всем разобрался...

решение:
document.getElementById('resultat').innerHTML = sum;


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