На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> Проблема с инпутом
    Добрый день.
    У меня есть таокй инпут:

    ExpandedWrap disabled
      <input type="text" name="xxx" value="yyy" onchange="update(this.name, this.value)" autocomplete="off">


    проблема в том, что не срабатывает событие onchange, когда я просто удаляю текущее значение инпута.
    Например было в нем value ="5646546", я все удалил - onchange не сработал и в базу не записалось новое значение.
    Приходится вместо удаления прописывать 0 как значение. Можно это как-то побороть? Спасибо.
      Цитата Rzonex @
      проблема в том, что не срабатывает событие onchange, когда я просто удаляю текущее значение инпута.

      Почему не срабатывает? :blink: И собственно как ты удаляешь значение инпута? :huh:

      и кстати, это нифига не php, а опять JS, модераторы тебя покарают... :yes-sad:
        я открываю страничку в браузере у меня в инпуте значение из бд к примеру 545424.
        если я в инпуте напишу например 77777, то функция onchange сработает и значение в бд поменяется,
        а если я выделю текст 545424, нажму delete и уберу фокус с инпута, чтобы он обновился -
        то onchange не срабатывает...
          Вот попробуй сам. Если жать delete - работает. Если выделить все и нажать Backspace - не работает...
          ExpandedWrap disabled
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html>
             <head>
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
              <title>input</title>
             </head>
             <body>
                <input type="text" name="xxx" value="5454542" onchange="update()" autocomplete="off">
             </body>
            </html>
             
            <script>
            function update(){
                alert('onchange сработал!');
            }
            </script>


          Странно, но в моем проекте даже delete не работает... А тут пашет...
          Сообщение отредактировано: Rzonex -
            Цитата Rzonex @
            Вот попробуй сам.

            Если будешь юзать jquery, вот это поможет(список событий вешается на объект):
            ExpandedWrap disabled
              $("#input-id").on("change keyup paste click", function(){
                  dosomething();
              })


            вообще то ждём кого нибудь из более опытных JS-кодеров, я с ним редко сталкиваюсь. <_<
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0209 ]   [ 15 queries used ]   [ Generated: 28.03.24, 10:26 GMT ]