Перейти к публикации

AJAX и еще одна функция


Рекомендованные сообщения

Я загружаю страницу вашим же AJAX Fremework-ом

	var ajax = new dle_ajax();
ajax.onShow ('');
ajax.setVar("ajax", "1" );
ajax.setVar("messege", document.getElementById('messege').value);
ajax.requestFile = dle_root + "all.php";
ajax.method = 'POST';
ajax.element = 'all';
ajax.sendAJAX();[/codebox]

После добавления полученого контента в елемент, мне нужно вызвать еще одну функцию ( backlight )

Но если прописать ajax.onCompletion = backlight;

Функция запускается раньше чем изменился контент в елементе и после выполнения функции уже изменяется контент. Как быть? Что посоветуете?

Заранее благодарен.

Изменено пользователем Developer
Ссылка на сообщение
Поделиться на других сайтах

Посмотрел исходный код dle_ajax.js

Ф-я onCompletion вызывается раньше чем присваивается. Изменять файл не хочу, т.к. модуль расчитан для большого кол-ва людей, как можно обойти? :huh:

case 4:

  self.response = self.xmlhttp.responseText;

  self.responseXML = self.xmlhttp.responseXML;

  self.responseStatus[0] = self.xmlhttp.status;

  self.responseStatus[1] = self.xmlhttp.statusText;

  self.onHide();

  self.onCompletion();

  if (self.elementObj) {

	var elemNodeName = self.elementObj.nodeName;

	elemNodeName = elemNodeName.toLowerCase();

	if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea"){

	  if (self.response == 'error') { alert('Доступ отклонен'); } else {

		if ( self.add_html ) {

	self.elementObj.value += self.response;

		} else { self.elementObj.value = self.response;}

	  }

	} else {

	  if (self.response == 'error') { alert('Доступ отклонен'); } else {

		if(self.execute) { self.runResponse(); } else {

		  if ( self.add_html ) {

			 self.elementObj.innerHTML += self.response;

		  } else { self.elementObj.innerHTML = self.response; }

		}

	}

 }

}

self.URLString = "";

break;

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...