2009-09-12 4 views
0

Я пытаюсь загрузить контент в div с помощью this. К сожалению, это просто загружает HTML-файл в новую страницу.Запрос Ajax с использованием mootools не работает

Это Javascript, что должен делать эту работу

window.addEvent('domready', function() { 

     $('runAjax').addEvent('click', function(event) { 
         event.stop(); 
         var req = new Request({ 
             method: 'get', 
             url: $('runAjax').get('href'), 
             data: { 'do' : '1' }, 
             onRequest: function() { alert('The request has been made, please wait until it has finished.'); }, 
        onComplete: function(response) { alert('Response received.); $('container').set('html', response); } 
         }).send(); 
$('runAjax').removeEvent('click'); 
     }); 
}); 

это звено, которое должно инициировать функция

<a href="about.html" id="runAjax" class="panel">Profil</a> 

и это Div-структура index.html. я хочу, чтобы содержание быть загружены в «контейнер» -div

<div id="view"> 
    <div id="sidebar"> 
     mib 
    </div> 

    <div id="container"> 
     <div id="logo"> 
      <!--img src="img/logo.png"--> 
     </div> 

     <div align="center" id="tagline"> 
      content 
     </div> 
    </div> 
</div> 

Я действительно не волнует, что скрипт я использую, пока его совместимым с MooTools 1.2, потому что мне это нужно для скользящей верхней панели и будет будет гораздо больше работы, чтобы изменить его на панель jquery, например.

ответ

0

Существует "здесь отсутствует:

alert('Response received.); 
+0

вот как copypasta может стоить вам жизни – ngmir

+0

... но она не работает, либо – ngmir

0

Вы делаете вещи более сложными, чем вам нужно. Дайте это попробовать:

window.addEvent('domready', function(){ 
    function loadPage(url) { 
     $('container').load(url); 
    } 

    $('runAjax').addEvent('click', function(e) { 
     e.stop(); 
     loadPage(this.get('href')); 
     this.removeEvent('click', loadPage); 
    }); 
}); 

Если это не работает, загрузите Firebug и посмотреть, какие ошибки Javascript становятся авторизовались. Вот ссылка на Element.load() ярлык:

http://mootools.net/docs/core/Request/Request.HTML#Element:load

0

Вы не останавливая событие щелчка, как это рекомендовано.

вместо:

event.stop();

сделать:

new Event(event).stop();

Смежные вопросы