Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Помогите исправить ошибки. AJAX на MooTools 1.11 (https://javascript.ru/forum/library-toolkit-framework/11486-pomogite-ispravit-oshibki-ajax-na-mootools-1-11-a.html)

dron79 26.08.2010 10:40

Помогите исправить ошибки. AJAX на MooTools 1.11
 
Помогите подалуйста, сутки с лишним с эим кодом бьюсь и все никак. Пишу компонент быстрого выбора материалов для компонента К2
var spteg = ''; //список выбранных тегов
var spdp='';	//список выбранных значений доп полей
var spdpold='';	//список выбранных значений доп полей в предыдущем выборе
function onchangek2teglist() // срабатывает при выборе списка тег
{
	var selteg = $('seltegk2');
	var spisselteg = '';
	for (i=0; i<selteg.length; i++){
		if(selteg.options[i].selected==true){
			spisselteg +=selteg.options[i].value+',';
		}
	}
	//var url1 = 'index.php?option=com_k2select&task=k2dpselect&format=row';
	var url2 = 'index.php?option=com_k2select&task=k2content&format=row';
	spteg = spisselteg;
	spisselteg = '';
	var rezultcont='res_div';
	var dataotprcont= 'key='+spteg+'&key2='+spdp;
	//1.отправляем список выбраных тегов - key
	aj_otprteg(spteg);
	//2. отправляем запрос на выборку контента
	aj_otpr(url2, rezultcont, dataotprcont);
}
function onchangek2dplist() // срабатывает при выборе списка доп поля
{
	var selteg2= $('seldpk2');
	var spisselteg2 = '';
	for (i=0; i<selteg2.length; i++){
		if(selteg2.options[i].selected==true){
			spisselteg2 +=selteg2.options[i].value+',';
		}
	}
	spdp=spisselteg2;
	var url = 'index.php?option=com_k2select&task=k2content&format=row';
	var rezultcont='res_div';
	var dataotprcont= 'key='+spteg+'&key2='+spdp;
	//1.отправляем список выбранных доп полей
	//2.отправляем запрос на обновление контента
	aj_otpr(url, rezultcont, dataotprcont);
}


function aj_otpr(url, rezult, dataotpr){//запрс на обновление контента
	
	new Ajax(url,
		{method: 'post', update: rezult, data: dataotpr, onComplete: function(response){
					//$('listDpK2sp').replaceWith($('res_sum'));
					fn(spteg,spdp);
					}}
			).request();

}
function aj_otprteg(spteg){//отправка списка выбраных тегов для построения доп полей
	
	new Ajax('index.php?option=com_k2select&task=k2dpselect&format=row',
		{method: 'post', update: 'contentform2', data: 'key='+spteg, onComplete: function(response){
					//$('listDpK2sp').replaceWith($('res_sum'));
					}}
			).request();
}
function fn(spteg,spdp) {
      var list = $$('#paginationk2s a.pagenav'); // массив ссылок пагинации
      var container = $('res_div'); // элемент с содержимым AJAX
      var loader = $('loader'); // AJAX-loader
	  var dataotprcont= 'key='+spteg+'&key2='+spdp;
      
      list.each( function(item, i) {
         item.onclick = function(){
            var lnk = item.getProperty('href'); // адрес страницы для запроса
			//alert(lnk);
            loader.setStyle('display', 'inline');
            aj_pag(link, container, dataotprcont, loader);
            return false;
         }
      });
   };
function aj_pag(link, container, dataotprcont, loader){
new Ajax(
               url: lnk,{
			   update: container,
               method: 'post',
			data:dataotprcont,
			   onComplete: function(response) {
                  
                  loader.setStyle('display', 'none');
                  fn();
               }
            }).request();
}


Часовой пояс GMT +3, время: 01:24.