关闭

静态页面无刷新添加回复,实时更新静态网页

标签: ajaxfunctiondivjavascriptinputfirefox
917人阅读 评论(1) 收藏 举报
 

静态页面无刷新添加回复,实时更新静态网页 ,不用xml,我用另一种办法实现

适用:带回复/评论的文章页面(.html,.htm格式).

演示页面:  http://www.uptoday.cn/shtml/article1537.htm

所用技术:AJAX   fso文件操作

原理:在静态页内发表回复,由ajax后台处理回复内容,并回调给前台显示(无刷新)。同时在后台用fso重写此静态页面(服务器上),将回复内容写入。因为前台浏览器上的静态页已下载到客户端,不会受到影响,但一刷新,就是更新后的页面了.

关键代码:

*********前台 article23.htm***********

<HTML>
<SCRIPT LANGUAGE="JavaScript">
function ajax_reply(name,comment,id){

      var xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");     
      xmlhttp.open("POST","reply_submit.asp",true);
      xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
   xmlhttp.onreadystatechange=function(){
   if (xmlhttp.readystate==1)
        {}
         else if(xmlhttp.readystate==4)
   {
   window.alert("感谢您的回复!/n若发现楼数不对,请刷新!");
   document.getElementById("reply").innerHTML+=xmlhttp.responseText; //前台显示新回复
   }
}
   xmlhttp.send("name="+escape(name)+"&comment="+escape(comment)+"&id="+escape(id));
}

}

</SCRIPT>
<BODY>
   <div id="title">文章标题</div>
   <div id="content">文章内容</div>

<div id="reply">回复内容
    <span>用户名1</span><BR><div>回复1</div>
    <reply/>   <!-- 标记,新回复将出现的位置 -->
</div>

<div id="reply_form" >添加回复的表单
     <FORM METHOD=POST ACTION="">
   <INPUT TYPE="text" NAME="name"><TEXTAREA NAME="comment" ROWS="" COLS=""></TEXTAREA>
   <INPUT TYPE="bottom" value="提交" onclick="ajax_reply(name.value,comment.value,23)">
     </FORM>
</div>


</BODY>
</HTML>

********后台处理 reply_submit.asp*****

<%
reply="<span>"&Request.Form("name")&"</span><BR><div>"&Request.Form("comment")&"</div>"

b=server.mappath("/")
id=Request.Form("id")

'此处也可向数据库中添加记录
Set fso=Server.CreateObject("Scripting.FileSystemObject")

Set type1=fso.openTextFile(b&"/article"&id&".htm")
   all=type1.readall
   all=replace(all,"<reply/>",reply&"<reply/>")   '处理原页面,加入新回复

Set type2=fso.createTextFile(b&"/article"&id&".htm")
type2.WriteLine all   '重写页面
type2.close
Set fso=Nothing

response.write reply   '回调给前台
%>
***********************************
演示页面:  http://www.uptoday.cn/shtml/article1537.htm
在此页底部回复,暂不支持firefox

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13047次
    • 积分:243
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:9条
    最新评论
    我的网络