Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2013, 12:43   #1
Егор_1989
Новичок
Джуниор
 
Регистрация: 11.02.2013
Сообщений: 2
По умолчанию принудительное завершение выполнения скрипта

Здравствуйте. Я новичёк в web программировании и потому часто возникает много вопросов, один из которых я хочу задать.
Есть сайт и есть в нем поиск по каким-то критериям(критерии выбираются кликом по чекбоксу). Изначально было так, что нельзя кликнуть по чекбоксу, пока не завершится поиск по старому чекбоксу. Нужно переделать так, чтобы зараз можно задавать несколько критериев. Проблема в том, что если так выбрать, то на страницу грузится сразу результат по 1-му чекбоксу, потом по 1-му и 2-му и т.д. Т.е. вместо одного обращения к базе происходит несколько(в зависимости от количества установленных галочек). Поставил перед выполнением скрипта код:
window.stop();
и на страницу грузится только последний вариант поиска, но на сервере по прежнему происходит многократное обращение к базе. Как оставить только последнее обращение? Может как то принудить скрипт перестать выполняться, если в критерии поиска заданы ещё параметры? Надеюсь на ваши советы.

Последний раз редактировалось Егор_1989; 12.02.2013 в 12:47.
Егор_1989 вне форума Ответить с цитированием
Старый 12.02.2013, 19:19   #2
_SanR
Пользователь
 
Регистрация: 09.02.2013
Сообщений: 48
По умолчанию

Отменить обращение к серверу вы вряд-ли сможете.
На клиенте можно сделать небольшую задержку перед отправкой запроса.
Можно использовать setTimeout дабы подождать нажатия на второй чек бокс(секунду например).

var timeoutId = null;
....
function clickCheckBox(){
clearTimeout(timeoutId); // Отменяем последний таймаут
timeoutId = setTimeout([ваша функция для отправки сообщения серверу], [время после которого выполнится функция в мс]);
}

+ блокировать отправку до получения ответа.

Последний раз редактировалось _SanR; 12.02.2013 в 19:37.
_SanR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время выполнения php-скрипта WagGerN PHP 5 11.06.2012 20:43
Принудительное завершение потока не работает :(! TEED! Работа с сетью в Delphi 3 06.06.2012 14:34
Скорость выполнения скрипта Arsenx777 PHP 2 08.04.2012 10:09
Разбить время выполнения скрипта iankov PHP 9 03.08.2009 09:10
Как отследить завершение выполнения потока TThread? Трик Общие вопросы Delphi 3 24.10.2007 14:55