2009-09-12 97 views
0

我尝试使用this教程尝试将内容加载到div中。不幸的是,这只是将HTML文件作为新页面加载。使用mootools不工作的Ajax请求

这是应该做的工作

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'); 
     }); 
}); 

的JavaScript这是一个应该启动功能

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

的链接,这是的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兼容的,因为我需要它滑动顶部面板,它会-div例如,将其更改为jquery面板还有很多工作要做。

回答

0

有一个“丢失的位置:

alert('Response received.); 
+0

这就是如何copypasta可以要你的命 – ngmir 2009-09-12 12:23:41

+0

...但它也不管用 – ngmir 2009-09-12 12:36:10

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); 
    }); 
}); 

如果不工作,启动萤火虫,看到越来越记录了哪些Javascript错误。下面是该Element.load()快捷参考:

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

0

您还没有停止的单击事件的建议。而不是

event.stop();

做:

new Event(event).stop();