Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
284 / 283 / 73
Регистрация: 06.05.2013
Сообщений: 1,613

Выполнение скрипта по окончанию ввода

28.11.2013, 14:34. Показов 4263. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Помогите решить проблему, необходимо сделать текстовое поле, при вводе в которое осуществляется ajax запрос к php файлу - с этим в общем проблем нет.
Проблема в том, что хочется посылать запрос не при каждом нажатии клавиш, а, к примеру, через секунду после нажатия последней клавиши. Последняя - это значит в течение секунды после неё ничего не нажималось.
Ну как то так.
Хотя может я вообще в неправильном направлении думаю, помогите кто чем может)

Добавлено через 2 часа 38 минут
Может ещё кто подскажет, почему не работает такая конструкция?

JavaScript
1
<input id="ff" type="text" onkeyup="clearTimeout(timeout_id); var timeout_id = setTimeout(checkTime, 800);">
при нажатии клавиш, по моему замыслу, должен стираться таймер с id=timeout_id и создаваться новый. Т.е. при постепенном наборе текста функция выполнять не будет, она выполнится только после завершения ввода. Однако в моём случае при нажатии, к примеру, нескольких клавиш, функция выполняется несколько раз, не удаляется таймер. Почему такое происходит?

Добавлено через 7 минут
Хотя понял, в переменную записывается только id таймаута, который всегда разный. эх, печально
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.11.2013, 14:34
Ответы с готовыми решениями:

Выполнение скрипта
Есть php файл который заносит определенное значение в БД. Как вызывать этот файл, не перезагружая страницу. Слышал про ajax, но толком...

выполнение скрипта
код на js &lt;html&gt; &lt;a href=&quot;index12.php&quot;&gt;&lt;img id=&quot;m1&quot; src=&quot;12.jpg&quot;&gt;&lt;/a&gt; &lt;form id=&quot;form1&quot;&gt; &lt;input id=&quot;input1&quot; type=&quot;text&quot;...

Выполнение скрипта 24/7
Был windows vps, на котором стоял сайт, параллельно там был открыт браузер и 24/7 на другом сайте выполнялся скрипт в консоли (никак не...

3
 Аватар для nonamez123
189 / 185 / 54
Регистрация: 23.10.2010
Сообщений: 1,336
28.11.2013, 17:28
Примерно как-то так

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var timeout_array = [];
 
jQuery(document).ready(function(){
    jQuery('body').on('#check-enter', function() {
        var timeoute_id = window.setTimeout(function(value) {
            console.log('TimeOutCheck');
            
            if (document.getElementById('check-enter').value == value) {
                for (var i = 0; i < timeout_array.length; i++)
                    clearInterval(timeout_array[i]);
                    
                console.log('AJAX');
            }
        }, 5000, this.value);
        
        timeout_array.push(timeoute_id);
    }); 
});
Но на деле зазор во времене очень не велик, не вижу смысла....
1
284 / 283 / 73
Регистрация: 06.05.2013
Сообщений: 1,613
29.11.2013, 00:41  [ТС]
Цитата Сообщение от nonamez123 Посмотреть сообщение
Но на деле зазор во времене очень не велик, не вижу смысла....
так то да, но при вводе к примеру четырёх символов, происходит четыре запроса, которые и возвращаются 4 раза, т.е. я быстро напечатал 4 символа, а потом смотрю как у меня сначала первый запрос грузится в целевой div, потом второй, потом третий и четвёртый. Ну не запрос грузится уж, а ответ)
0
 Аватар для nonamez123
189 / 185 / 54
Регистрация: 23.10.2010
Сообщений: 1,336
29.11.2013, 00:50
Цитата Сообщение от sMockingbird Посмотреть сообщение
так то да, но при вводе к примеру четырёх символов, происходит четыре запроса, которые и возвращаются 4 раза, т.е. я быстро напечатал 4 символа, а потом смотрю как у меня сначала первый запрос грузится в целевой div, потом второй, потом третий и четвёртый. Ну не запрос грузится уж, а ответ)
ну та, я же грю, временной зазор очень маленький, попробуй добавить флаг

Добавлено через 2 минуты
что-то типа

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var timeout_array = [];
var dont_send_other_ajax = false;
 
jQuery(document).ready(function(){
    jQuery('body').on('#check-enter', function() {
        var timeoute_id = window.setTimeout(function(value) {
            console.log('TimeOutCheck');
            
            if (document.getElementById('check-enter').value == value) {
                if (dont_send_other_ajax == false) {
                    dont_send_other_ajax = true;
                    console.log('AJAX');
                }
 
                for (var i = 0; i < timeout_array.length; i++)
                    clearInterval(timeout_array[i]);
            }
        }, 5000, this.value);
        
        timeout_array.push(timeoute_id);
    }); 
});
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2013, 00:50
Помогаю со студенческими работами здесь

Выполнение php скрипта в js
Есть код: $('#form_wizard_1 .button-submit').click(function () { //тута нужно выполнить php скрипт(файл) ...

Подключение и выполнение скрипта
Только начал юзать JQuery. Подскажите, что не так? Окошко не вылазит. &lt;script type=&quot;text/javascript&quot;...

Постоянное выполнение скрипта?
Доброго времени суток, суть: есть скрипт jquery он плавно меняет текст, но есть одна проблема -- он не зациклен. Что можно с этим поделать?...

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

Выполнение скрипта по кругу
Здравствуйте, вот есть код: onclick=&quot;document.getElementById('hit_specific_terrorist_1033183116').submit();&quot; Подскажите, пожалуйста,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru