2014-11-04 55 views
1

我正在製作一個聊天應用程序,用戶與多個用戶聊天。我創建了多個聊天窗口動態。即當用戶點擊在線用戶時,一個新的聊天窗口打開,但我有一個問題,在頁面刷新動態創建的div都沒有了,我沒有。我希望他們在那裏。我該怎麼辦。這是我的jQuery代碼。在頁面刷新時保存動態創建的div

$(document).ready(function(){ 


     $(".shout_msg").click(function(){ 

      var id = $(this).attr('id'); 
      var name = $(this).text(); 
      //var myarray = []; 
      var sender = "<?php echo $user_check?>"; 
      var receiver = name; 

      var detect = detectClick(id); //if a online user is clicked multiple times only chat window should be opened 

      if(!detect){ 
       $('#chatboxcontainer').append("<div id = 'd-"+id+"' class = 'shout_box1'></div>"); 
       $("#d-"+id).append("<div id = 'h-"+id+"' class = 'header1'>'"+name+"'</div>"); 
       $("#h-"+id).append("<div id = 'c-"+id+"' onclick = 'Slide("+id+")' class='close_btn1'>&nbsp;</div>"); 



       $("#d-"+id).append("<div id = 't-"+id+"' class = 'toggle_chat1'></div>"); 
       $("#t-"+id).append("<div id = 'h2-"+id+"' class = 'header2'>Clear Conversation</div>"); 
       $("#h2-"+id).append("<div id = 'c2-"+id+"' onclick = \"Remove("+id+",'"+name+"')\" class='clear_btn1'>&nbsp;</div>"); 
       $("#t-"+id).append("<div id = 'm-"+id+"' class = 'message_box1'></div>"); 
       $("#t-"+id).append("<div id = 'u-"+id+"' class = 'user_info1'></div>"); 
       $("#u-"+id).append('<input name = "shout_message" id = "s-'+id+'" type = "text" placeholder = "Type Message Hit Enter" />'); 

       //alert(id); 


       $.ajax({ 

          url: "loadmessage.php", 
          type: "POST", 
          data:{ 
           'sender': sender, 
           'receiver': receiver, 
          }, 

          success: function(response){ 
           var result = JSON.parse(response); 
           console.log("Result is " +result); 
           console.log() 

           for(var i in result){ 
            $("#m-"+id).append('<p class = "shout_msg">' +result[i]+ '</p>'); 
            $("#m-"+id).scrollTop($("#m-"+id)[0].scrollHeight); 
           } 
          } 
         }); 

       } 
       else{ 
        $("#s-"+id).focus(); 
       } 




      $("#s-"+id).keypress(function(evt) { 
       if(evt.which == 13) { 

        var msg = $("#s-"+id).val(); 
        //msg = msg.replace(":)","<img src = 'smilenew.gif'/>"); 

        var dt = new Date(); 
        var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds(); 

        $("#m-"+id).append('<p class = "shout_msg" id = "'+count+'">'+sender+':'+msg+'<span class = "time">'+time+'</span></p>'); 



        $.ajax({ 

         url: "insertdatanew.php", 
         type: "POST", 
         data:{ 
          'sender': sender, 
          'receiver': receiver, 
          'msg': msg, 
          'time': time 
         }, 

         success: function(result){ 
          if(result == 'Y') 
          alert("Successful insertion"); 
         } 
        }); 


        $("#m-"+id).scrollTop($("#m-"+id)[0].scrollHeight); 
        //count++; 
        $("#s-"+id).val(""); 


       } 

      }); 

     }); 



    }); 

這裏是HTML代碼

<html> 
     <body> 
     <div id = "chatboxcontainer"> 
     </div> 
     </body> 
    </html> 

回答

0

如果您使用PHP構建的網頁,做一個會話爲每個用戶,並保存在某個地方的用戶數據,因此,當他們創建的新窗口, PHP會自動填寫任何額外的div應該在那裏。

相關問題