Подгрузка контента Ajax Javascript Drag-and-drop

(Ответов: 1, Просмотров: 1782)
  1. Новичок
    • Регистрация: 23.09.2012
    • Сообщений: 3
    • Репутация: 0
    Здраствуйте) Помогите реализовать одну штуку. Сайт интернет магазина. Изображения с товаром методом "драг-энд-дропом" перемещаются в одну фиксированую корзину для оформления заказа. При этом при выборе категории товара из меню контент со списком товаров подгружается с помощью Ajax дабы не перезагружать страницу чтобы сохранялись товары в корзине при выборе категории.

    Проблема в том, что при подгрузке контента с новым списком javascript не ловит document.getElementById('dragObjects').getElements ByTagName('img').

    код Javascript:

    Код:
    <script>
    	function showContent(link) {
    
    
      
    		var cont = document.getElementById('contentBody');
    		var loading = document.getElementById('loading');
    
    		cont.innerHTML = loading.innerHTML;
    
    		var http = createRequestObject();					// создаем ajax-объект
    		if( http ) {
    			http.open('get', link);							// инициируем загрузку страницы
    			http.onreadystatechange = function () {			// назначаем асинхронный обработчик события
    				if(http.readyState == 4) {
    					cont.innerHTML = http.responseText;		// присваиваем содержимое
    				}
    			}
    			http.send(null);    
    		} else {
    			document.location = link;	// если ajax-объект не удается создать, просто перенаправляем на адрес
    		}
    
    //-Drag-and-drop-----------------------------
      try
       {
     var dragObjects = document.getElementById('dragObjects').getElementsByTagName('img')
      for(var i=0; i<dragObjects.length; i++) {
            new DragObject(dragObjects[i])
          
        new DropTarget(document.getElementById('trash'))
       }
    }
    catch(e){}
    }
    //----------------------------
    
    	// создание ajax объекта
    	function createRequestObject() {
    		try { return new XMLHttpRequest() }
    		catch(e) {
    			try { return new ActiveXObject('Msxml2.XMLHTTP') }
    			catch(e) {
    				try { return new ActiveXObject('Microsoft.XMLHTTP') }
    				catch(e) { return null; }
    			}
    		}
    	}
    </script>
    Вот как вызываются фунцкии пример:

    Код HTML:
    <input onclick="showContent('page1.html')" onclick="onload" type="button" value="Страница 1"> <input onclick="showContent('page2.html')" type="button" value="Страница 2"> <input onclick="showContent('fuckanddrop.html')" onclick="onload" type="button" value="Сыав 2">
    Или можно это как-нибудь по другому реализовать?
    • 0
  2. Новичок
    • Регистрация: 23.09.2012
    • Сообщений: 3
    • Репутация: 0
    Javascript для подгружаемой страницы необходимо добавлять сразу после подгрузки Ex после cont.innerHTML = http.responseText;:
    Код:
    var cont = document.getElementById('contentBody');
    		var loading = document.getElementById('loading');
    
    		cont.innerHTML = loading.innerHTML;
    
    		var http = createRequestObject();					// создаем ajax-объект
    		if( http ) {
    			http.open('get', link);							// инициируем загрузку страницы
    			http.onreadystatechange = function () {			// назначаем асинхронный обработчик события
    				if(http.readyState == 4) {
    					cont.innerHTML = http.responseText;		// присваиваем содержимое
    //--------------Function here------------------------------
     var dragObjects = document.getElementById('dragObjects').getElementsByTagName('img')
      for(var i=0; i<dragObjects.length; i++) {
            new DragObject(dragObjects[i])
          }
        new DropTarget(document.getElementById('trash'))
       //-------------------------------------------
    
    				}
    			}
    			http.send(null);    
    		} else {
    			document.location = link;	// если ajax-объект не удается создать, просто перенаправляем на адрес
    		}
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Ajax перезагрузка контента. Как?
DLE 3 03.07.2012 23:54
{AJAX} в DLE.
Вопросы от новичков 3 28.01.2012 21:55
Подгрузка контента (аякс, ЯС)?
Web программирование 4 04.12.2010 15:00

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры