Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 14.08.2012, 15:10
Интересующийся
Отправить личное сообщение для OlegDegtev Посмотреть профиль Найти все сообщения от OlegDegtev
 
Регистрация: 07.08.2012
Сообщений: 13

У меня есть проверка перед аякс запросом на заполненость полей. Запрос выполняется только если оба поля заполнены. Внутри запроса(где function(data)) у меня присутствует строка
$("#ajax_comment input[name=title], #ajax_comment textarea").val("");

ТОесть эта строка должна очистить содержимое полей, и при повторении они не пройдут проверку. Но, они проходят и повторяется запрос. Непонимаю((

Если разделить события на 2 отдельных события, то повторений не наблюдается. Но почему-же повторяются вложенные?
Ответить с цитированием
  #12 (permalink)  
Старый 14.08.2012, 15:20
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

такое ощущение что вот это событие добавляется каждый раз при добавлении комментария-а должно только один раз
поставь перед ним аlert
$(".add").click(function(event)
Ответить с цитированием
  #13 (permalink)  
Старый 14.08.2012, 15:29
Интересующийся
Отправить личное сообщение для OlegDegtev Посмотреть профиль Найти все сообщения от OlegDegtev
 
Регистрация: 07.08.2012
Сообщений: 13

alert("До");
$(".add").click(function(event){
alert("После");

Так и есть. "До" выскакивает 1 раз только. "После" уже повторяется. Первый раз один раз, второй - два, третий - три и. т. д.

Заметил что первый раз запрос обрабатывается дольше, успевает появиться бегущая строка. Остальные разы неуспевает и моментально выскакивает сообщение о успешном добавлении комментария.

ПОлучается что кнопка формы как-то накапливает на себе события клика. Первый раз кликнули - выполнился обработчик. Второй раз кликнули - кнопка подумала что кликнули 2 раза и обработчик выполнился 2 раза и так далее.
Интересно что не работает строка очистки содержимого формы внутри запроса. Я уже не знаю что предположить, но может эти события как-то параллельно стартуют? Ведь еслиб был цикл, то после очистки переменные получали бы пустые значения, а в них содержатся первоначальные данные.

Последний раз редактировалось OlegDegtev, 14.08.2012 в 15:35.
Ответить с цитированием
  #14 (permalink)  
Старый 14.08.2012, 15:40
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от OlegDegtev
"До" выскакивает 1 раз только.
Каждый раз при клике или вообще один раз а потом не выскакивает-так должно быть
Сообщение от OlegDegtev
Интересно что не работает строка очистки содержимого формы внутри запроса
у вас наверно несколько экземпляров формы создается-тогда нужно в конце обработчика после
fadeOut(1500);эту форму удалять

Последний раз редактировалось vadim5june, 14.08.2012 в 15:47.
Ответить с цитированием
  #15 (permalink)  
Старый 15.08.2012, 08:50
Интересующийся
Отправить личное сообщение для OlegDegtev Посмотреть профиль Найти все сообщения от OlegDegtev
 
Регистрация: 07.08.2012
Сообщений: 13

Полное удаление и создание формы вновь действительно решило проблему. Видимо вы были правы по поводу нескольких экземпляров. ПРавда в какой строке это происходит - так и осталось для меня загадкой.
Ответить с цитированием
  #16 (permalink)  
Старый 15.08.2012, 11:25
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от vadim5june
ПРавда в какой строке это происходит - так и осталось для меня загадкой.
нужно разобраться до конца-во время клика происходит создание еще одного экземпляра-то есть разберитесь почему алерт(ло) каждый раз срабатывает-должен только один раз при создании первой формы-а сам факт срабатывания говорит что создалась еще одна копия формы
Ответить с цитированием
  #17 (permalink)  
Старый 15.08.2012, 11:33
Интересующийся
Отправить личное сообщение для OlegDegtev Посмотреть профиль Найти все сообщения от OlegDegtev
 
Регистрация: 07.08.2012
Сообщений: 13

Нет, алерт ДО срабатывает только 1 раз при клике и появлении формы. Несколько раз срабатывает алерт ПОСЛЕ. В принципе роблема уже решена, спасибо за подсказку с формами)
ПОследними строками я просто хотел сказать что интересно все-же почему так работал мой скрипт
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
один setInterval внутри другого setInterval-а dadli Общие вопросы Javascript 5 20.03.2012 18:16
Передача события обработчику внутри класса SuperDennis Events/DOM/Window 4 29.02.2012 18:41
Как рандомно запустить js внутри другого js? fonzo24 Общие вопросы Javascript 3 21.11.2011 13:31
Обработка события элемента внутри создавшего его объекта pauluss Общие вопросы Javascript 10 10.09.2010 17:01
Перемещение div внутри другого Danila74 jQuery 1 24.09.2009 17:31