AJAX 응용 초고 자동 저장
6840 단어 AJAX 응용 초고 자동 저장
AJAX <br />
<!-- NONAME -->
:<input type="text" name="memName" id="memName" size="20" value="NONAME" />
<!-- onclick -->
<input onclick="SetAutoSave();" type="checkbox" id="Draft_AutoSave" value="1" checked="true" /> ?<br />
:
<textarea id="message"></textarea><br />
<!-- AutoSaveMsg -->
<div id="AutoSaveMsg"></div>
<input type="submit" value=" " />
<!-- -->
<input type="button" onclick="AutoSaveRestore();" value=" " />
</div>
</div>
<!-- JS , -->
<!-- AJAX -->
<script type="text/javascript" src="ajaxrequest.js"></script>
<!-- -->
<script type="text/javascript" src="autosave.js"></script>
다음은 autosave.js
//
// FormContent
var FormContent=document.getElementById("message");
//
var AutoSaveMsg=document.getElementById("AutoSaveMsg");
//
var memName=document.getElementById("memName").value;
//
var AutoSaveTime=60000;
//
var AutoSaveTimer;
//
SetAutoSave();
//
function AutoSave() {
// , ,
if(!FormContent.value||!memName) return;
// AJAXRequest ,
var ajaxobj=new AJAXRequest;
ajaxobj.url="autosave.asp";
ajaxobj.content="memname="+escape(memName)+"&postcontent="+escape(FormContent.value);
ajaxobj.callback=function(xmlObj) {
//
AutoSaveMsg.innerHTML=xmlObj.responseText;
}
ajaxobj.send();
}
//
function SetAutoSave() {
// ?
if(document.getElementById("Draft_AutoSave").checked==true)
// ,
AutoSaveTimer=setInterval("AutoSave()",AutoSaveTime);
else
// ,
clearInterval(AutoSaveTimer);
}
//
function AutoSaveRestore() {
// AJAXRequest
var ajaxobj=new AJAXRequest;
//
AutoSaveMsg.innerHTML=" , ……"
ajaxobj.url="autosave.asp";
ajaxobj.content="action=restore&memname="+escape(memName);
ajaxobj.callback=function(xmlObj) {
//
AutoSaveMsg.innerHTML=" ";
// textarea
if(xmlObj.responseText!="") {
//
FormContent.value=xmlObj.responseText;
}
}
ajaxobj.send()
}
이 고 마지막 으로 autosave.asp 입 니 다.배경 에 초 고 를 저장 하 는 데 사 용 됩 니 다.
<%@LANGUAGE="VBscript" CODEPAGE="65001"%>
<% Option Explicit %>
<%
' VBScript, UTF-8,
' ,
On Error Resume Next
'
Dim PostContent,memName,action,objStream
' ,
action=Request.Form("action")
'
memName=Request.Form("memname")
'
PostContent=Request.Form("postcontent")
IF action="restore" Then
' ,
IF memName<>Empty Then
' ADODB.Stream
Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Type = 2
.Mode = 3
.Open
' autosave_ + + .txt
.LoadFromFile(Server.MapPath("autosave_"&memName&".txt"))
.Charset = "utf-8"
'.Position = 0
PostContent = .ReadText()
.Close
End With
Set objStream = NoThing
'
IF PostContent<>"" Then Response.Write(PostContent)
End IF
Else
' ,
IF PostContent<>Empty AND memName<>Empty Then
' ADODB.Stream
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_"&memName&".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
%>
에 이 르 러 AJAX 초 고 는 자동 으로 저장 되 었 습 니 다.주소:http://www.xujiwei.cn/blog/blogview.asp?logID=585