2011-03-14 41 views
0

我目前正在嘗試加載之前的評論功能。我正在使用ajax,並且在嘗試使onClick事件起作用時遇到問題。有任何想法嗎?如何正確加載過去的評論?

HTML代碼:

<div id="workroom_boxes_chatpast" align="center"> 
    <a href="javascript:void(0);" onClick="return getMessages();">Load older chats...</a> 
</div> 
<div id="chat_cleaner"></div> 
<div id="chatcontent" align="center">Loading...</div> 

腳本:

function getMessages(){ 
    $("#workroom_boxes_chatpast").html('<img src="{{ MEDIA_URL }}images/ui-anim_basic_16x16.gif"/>&nbsp; Loading...'); 

    $.ajax({ 
     url: "/recent/messages/{{ chat.key.id }}", 
     cache: false, 
     success: function(html){ 
      $("#chatcontent").html(html); 
      $("#workroom_boxes_chatpast").hide(); 
     } 
    }); 

    setTimeout('getMessages()', 4000); 
}); 
+0

您應該使用jQuery點擊觸發器而不是內聯javascript。 –

+0

@Lekis你能給我一個關於jsfiddle.net的例子嗎? –

+1

http://jsfiddle.net/LekisS/WX4VG/1/ :) –

回答

0

在黑暗中只是一個鏡頭,但改變$("#chatcontent").html(html);$("#chatcontent").html(html.d);

+0

這裏有什麼? –

+0

MS在'd'屬性中返回一個響應:http://www.codeproject.com/KB/aspnet/Parsing-ClientScript-JSON.aspx –

+0

正如Jakub所說......你的問題並沒有提供太多的細節(特別是)你遇到了什麼問題,所以這確實是猜測什麼可能是錯誤的。 – FarligOpptreden

0

getMessages功能不返回任何東西使不上在onclick中寫return getMessages()。你可能想寫:

onclick="getMessages(); return false;" 

,以防止在某些瀏覽器跳躍。

0
var status="notloaded"; 

function getMessages(){ 

    $('#loading').hide();   

    if(status == "notloaded") 
    { 
     var myurl = "/recent/messages/id/10/status/notloaded" 
     /** 
     load older message 
     **/ 
     status = "loaded" 
    } 
    else{ 
     var myurl = "/recent/messages/id/10/status/loaded" 
     /** 
     do not load older message 
     **/ 
    }  

    $.ajax({ 
     url: myurl, 
     /** 
     Load new message 
     **/ 
     cache: false, 
     success: function(html){ 

      $('#loading').hide(); 
      $("#workroom_boxes_chatpast").hide(); 

     } 
    }); 

    setTimeout('getMessages()', 4000); 
});