Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2014, 14:54
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Забуксовал с ajaxComplete
Всем доброго дня.
Ребята, что-то не получается совладать с событием ajaxComplete.

Допустим Есть несколько форм на странице. Все обрабатываются Ajax.

Мне нужно после наступления события завершения Ajax выводить окошко с данными, но только для определенной формы.

Делаю так:
jQuery("#block-webform-client-block-15").ajaxComplete(function(e, xhr, settings){

jQuery(this).find(".messages.error").slideDown("slow");

jQuery("body").click(function() {
  jQuery("#block-webform-client-block-15 .messages.error").slideUp("slow");
});
});


Как мне привязать эту конструкция к определенной кнопке, т.е. чтобы эта функция выполнялась только по нажатию на нужный submit.

А так получается что событие ajaxComplete наступает при нажатии на любую кнопку любой формы.
Ответить с цитированием
  #2 (permalink)  
Старый 19.06.2014, 16:35
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Спрошу проще, можно ли указать условие (id нажатой кнопки) при котором сработает функция в ajaxComplete?

Последний раз редактировалось ArtemKrass, 19.06.2014 в 16:46.
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2014, 16:58
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Схема такая:
нажал кнопку - сработал ajax - выскочил блок

форма рабочая, код формы недоступен. Допустим мне нужно добавить анимацию выскакивающему блоку.

Я делаю ему в css display: none.

Затем на Jquery добавляю свойства. Но вот как мне обработать событие что данный блок появился в DOM?

Я предположил что можно использовать ajaxComplete. Т.е. После возникновения данного события нужный блок существует и с ним можно работать. Но позже появилась проблема!

Если данный блок уже существует и при нажатии на другую кнопку (которая вызовет ajaxComplete) мой код тоже сработает. Поэтому ищу способ связать ajaxComplete с нажатой кнопкой! Запутался окончательно!
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2014, 21:37
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Ребят, может я не в ту сторону копаю. Может все проще?
Как правильно работать с блоком (например цеплять на него анимацию и тд), который появляется после выполнения Ajax?
Ответить с цитированием
  #5 (permalink)  
Старый 20.06.2014, 10:40
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

на каждую форму свой $.ajax и соответственно будут разные ajaxComplete. И если урл и отправляемые данные одинаковые, можно воспользоваться promise'ами, чтобы укоротить код.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery - ajax - ajaxStart и ajaxComplete для разных запросов basist jQuery 1 02.09.2009 03:46