Форум 1С-Битрикс

Задавайте свои вопросы и отвечайте на вопросы других участников форума

Страницы: 1
Ответить
Задержка исполенения функции при вводе символов (чисел) в строке input
 
Здравствуйте.
Как сделать так, чтобы при поочередном вводе символов в строку input, функция не отправляла данные на сервер посимвольно(по одному симфолу), а ждала когда все символы будут введены и после этого только отправила строку на сервер. Другими словами, как сделать задержку исполнения функции или события jquery при вводе в input всех символов.
 
Написал рабочий кусок кода, выполнение функции с ожиданием.
Код
$('input').on('keyup', function(){
        var $this = $(this);
        var $delay = 500;

        clearTimeout($this.data('timer'));

        $this.data('timer', setTimeout(function(){
                $this.removeData('timer');
                         
            $.ajax({
                type: 'POST',
                url: "/ajax/basket_ubdate.php",
                data: {id:id,quantity:quantity},
                success: function(data){
            
            }
           });
        }, $delay));

});
  • $this - хранит ссылку на объект строки ввода input
  • $delay - время ожидания (timeout) в миллисекундах.

Перед выполнением функции, мы сбрасываем таймер который мог быть ранее  создан.

Далее скрипт присваивает новый таймер и выполнит ваш код, который запустится после ввода значения.

В нашем случае это AJAX запрос на сервер/

Страницы: 1
Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить