用jqueryajax类实现的一个ajax自动保存草稿功能

用jqueryajax类实现的一个ajax自动保存草稿功能
结合了xheditor编辑器,和csdn有点像

效果:

autosave.js
--------------------------------------------------------

// 自动保存时间间隔
var AutoSaveTime=60000;//20秒
// 计时器对象
var AutoSaveTimer;
// 首先设置一次自动保存状态
SetAutoSave();
// 自动保存函数
function AutoSave() {
    var FormContent=editor.getSource();
    if(!FormContent) return;

    var url="autosave/autosave.asp";
    var content="postcontent="+escape(FormContent);
    $.ajax({ type: "POST", url: url, data: content, success: function(msg){ $("#AutoSaveMsg").html(msg);}}); 
    //$.post(url,{postcontent:FormContent},function(msg){ $("#AutoSaveMsg").html(msg);})//$.ajax封装了的简化形式
}

//设置自动保存状态函数
function SetAutoSave() {
           AutoSaveTimer=setInterval("AutoSave()",AutoSaveTime);
}

// 恢复最后保存的草稿
function AutoSaveRestore() {
    $("#AutoSaveMsg").html("正在恢复,请稍候……")
    var url="autosave/autosave.asp";
    var content="action=restore";
    $.ajax({ type: "POST", url: url, data: content, success: function(msg){ editor.setSource(msg);$("#AutoSaveMsg").html("恢复最后保存成功");}});         
}




autosave.asp

-----------------------------------------

<%@LANGUAGE="VBscript" CODEPAGE="65001"%>
<% Option Explicit %>
<%
On Error Resume Next
Dim PostContent,action,objStream
action=Request.Form("action")
PostContent=Request.Form("postcontent")
IF action="restore" Then
        Set objStream = Server.CreateObject("ADODB.Stream")
        With objStream
            .Type = 2
            .Mode = 3
            .Open
            .LoadFromFile(Server.MapPath("autosave.txt"))
            .Charset = "utf-8"
            .Position = 2
            PostContent = .ReadText()
            .Close
        End With
        Set objStream = NoThing
        IF PostContent<>"" Then Response.Write(PostContent)
Else
    ' 保存草稿,如果草稿内容和用户名均不为空则进行保存操作
    IF PostContent<>Empty Then
        Set objStream = Server.CreateObject("ADODB.Stream")
        With objStream
            .Type = 2
            .Mode = 3
            .Open
            .Charset = "utf-8"
            .Position = objStream.Size
            .WriteText= PostContent
            .SaveToFile Server.MapPath("autosave.txt"),2
            .Close
        End With
        Set objStream = NoThing
        ' 输出保存是否成功信息
        If Err.Number=0 then
            Response.Write("最后于 "&Now()&" 自动保存成功")
        Else
            Response.Write("最后于 "&Now()&" 自动保存失败,错误号:"&Err.Number&",错误描述:"&Err.Dscription)
        End If
    End IF
End IF

%>


前台调用显示

<a οnclick="AutoSave();" href="javascript:;">暂存</a> <a οnclick="AutoSaveRestore();" href="javascript:;">恢复</a>
<span id="AutoSaveMsg"></span>

<script type="text/javascript" src="autosave/jquery.js"></script>
<script type="text/javascript" src="autosave/autosave.js"></script>




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值