function   refresh_chat() 
        { 
                var   roomid= " <%=roomid()   %> "; 
                var   name= " <%=uname1()   %> "; 
                var   one= " <%=getdata1()   %> "; 
                var   newmsg   =chatclass.getmsg(roomid,name).value; 
                if(newmsg!= " "   &&   newmsg!=   null) 
                { 
                        if(one   !=name   ¦ ¦   document.all( "ispub ").checked==false) 
                        { 
                              chat_pub.innerHTML   +=newmsg; 
                        } 
                        else 
                        { 
                              chat_sec.innerHTML   +=newmsg;                   
                        } 
                } 
                else 
                { 
                        chat_pub.innerHTML   += " "; 
                } 
                window.setTimeout(refresh_chat(),1000); 
        } Window.setInterval("refresh_chat();",1000)

解决方案 »

  1.   

    window.setTimeout("refresh_chat()",1000); 
      

  2.   

    setTimeout(这里的函数名要加引号,时间值)
      

  3.   

    如果其它代码没问题的话,需要使用window.setTimeout(refresh_chat,1000); //或者window.setTimeout("refresh_chat()",1000); 
      

  4.   

    chat_pub.innerHTML   +=newmsg;
    最好使用document.getElementById("chat_pub")
    这句根本没有任何用处
    chat_pub.innerHTML += ""; 
      

  5.   

    问题解决拉,原来是我搞错了上面的朋友说的都没错谢谢拉
    顺便问个问题就结帖了
    我想实时读取数据库,因为我做的是聊天室。。
    要怎么写sql语句实时更新聊天信息并显示出来。。string sql="select msgid,u_name1,u_name2,msg,roomid,act,ispub,sendtime,face,lastinfo from chat_sendmsg,chatinfo where msgid>'" + last + "' and roomid='" + roomid + "' and ((ispub='false') or (u_name1='" + name1 + "') or (u_name2='" + name1 + "') or (u_name2='所有人'))";
    我是这么写的。但是都只能读出自己发的消息。。别人发的消息就是显示不出来。
      

  6.   

    chat_pub.innerHTML += ""; 
    这句话只是为了显示当刷新时在数据库里读不出东西的时候,不要让它读出null
      

  7.   

    可能是我哪个地方错了所以如果读不出东西的话,就会null一直写,
      

  8.   

    setTimeout里要用引号,最重要是红色的部分,你全部用xxx.innerHTML+=,肯定慢死并造成假死状态的,应该把所有xxx.innerHTML+=改成xxx.insertAdjacentHTML("beforeEnd",xxxxxxx)。没试过。function refresh_chat(){ 
    var roomid="<%=roomid()%>";
    var name="<%=uname1()%>";
    var one="<%=getdata1()%>";
    var newmsg=chatclass.getmsg(roomid,name).value;
    if(newmsg!=""&&newmsg!=null){ 
    if(one!=name||document.all("ispub").checked==false){chat_pub.insertAdjacentHTML("beforeEnd",newmsg);
    else{chat_sec.insertAdjacentHTML("beforeEnd",newmsg);

    else{chat_pub.insertAdjacentHTML("beforeEnd","");
    window.setTimeout("refresh_chat()",1000);

      

  9.   

    document.getElementById("chat_pub").innerHTML +=...;
    这样子写吗?我知道我写的代码不规范的。。
      

  10.   

    请使用setTimeInterval()