利用XMLHTTP ajax自动保存信息完整js代码

利用xmlhttp ajax自动保存信息完整js代码
function createhttphandler() {
 var httphandler = false;
 
 @if (@_jscript_version >= 5)
  // jscript gives us conditional compilation, we can cope with old ie versions.
  // and security blocked creation of the objects.
  try {
   httphandler = new activexobject("msxml2.xmlhttp");
  }
  catch (e) {
   try {
    httphandler = new activexobject("microsoft.xmlhttp");
   }
   catch (e) {
    httphandler = false;
   }
  }
 
 if (!httphandler && typeof xmlhttprequest != 'undefined') {
  httphandler = new xmlhttprequest();
 }
 return httphandler;
}

/**
 * auto saves as draft
 */
function autosavedraft() {
 checks = 0;
 seconds = now();

 var title = encodeuri(addform.title.value);
 var body = encodeuri(addform.body.value);
 var catid = addform.catid.options[addform.catid.selectedindex].value;
 var more = encodeuri(addform.more.value);
 var closed = 0;
 if (addform.closed[0].checked) {
  closed = addform.closed[0].value;
 }
 else if (addform.closed[1].checked) {
  closed = addform.closed[1].value;
 }
 var ticket = addform.ticket.value;

 var querystring = 'action=autodraft';
 querystring += '&title=' + title;
 querystring += '&body=' + body;
 querystring += '&catid=' + catid;
 querystring += '&more=' + more;
 querystring += '&closed=' + closed;
 querystring += '&ticket=' + ticket;
 if (formtype == 'edit') {
  querystring += '&itemid=' + addform.itemid.value;
  querystring += '&type=edit';
 }
 else {
  querystring += '&blogid=' + addform.blogid.value;
  querystring += '&type=add';
 }
 if (addform.draftid.value > 0) {
  querystring += '&draftid=' + addform.draftid.value;
 }

 xmlhttprequest[0].open('post', goalurl, true);
 xmlhttprequest[0].onreadystatechange = checkmonitor;
 xmlhttprequest[0].setrequestheader('content-type', 'application/x-www-form-urlencoded');
 xmlhttprequest[0].send(querystring);

 var querystring = 'action=updateticket&ticket=' + ticket;

 xmlhttprequest[1].open('post', goalurl, true);
 xmlhttprequest[1].onreadystatechange = updateticket;
 xmlhttprequest[1].setrequestheader('content-type', 'application/x-www-form-urlencoded');
 xmlhttprequest[1].send(querystring);
}

/**
 * monitors the edits
 */
function domonitor() {
 if (checks * (now() - seconds) > 120 * 1000 * 50) {
  autosavedraft();
 }
 else {
  checks++;
 }
}

/**
 * checks the process of the saving
 */
function checkmonitor() {
 if (xmlhttprequest[0].readystate == 4) {
  if (xmlhttprequest[0].responsetext) {
   if (xmlhttprequest[0].responsetext.substr(0, 4) == 'err:') {
    goal.innerhtml = xmlhttprequest[0].responsetext.substr(4) + ' (' + formatteddate() + ')';
   }
   else {
    addform.draftid.value = xmlhttprequest[0].responsetext;
    goal.innerhtml = lastsavedtext + ' ' + formatteddate();
   }
  }
 }
}

/**
 * checks the process of the ticket updating
 */
function updateticket() {
 if (xmlhttprequest[1].readystate == 4) {
  if (xmlhttprequest[1].responsetext) {
   if (xmlhttprequest[1].responsetext.substr(0, 4) == 'err:') {
    goal.innerhtml = xmlhttprequest[1].responsetext.substr(4) + ' (' + formatteddate() + ')';
   }
   else {
    addform.ticket.value = xmlhttprequest[1].responsetext;
   }
  }
 }
}

/**
 * gets now in milliseconds
 */
function now() {
 var now = new date();
 return now.gettime();
}

/**
 * gets now in the local dateformat
 */
function formatteddate() {
 var now = new date();
 return now.tolocaledatestring() + ' ' + now.tolocaletimestring();
}

时间: 2024-10-02 11:44:42

利用XMLHTTP ajax自动保存信息完整js代码的相关文章

一个AJAX自动完成功能的js封装源码[支持中文]第1/2页_AJAX相关

Screenshots screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0> screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Clic

一个AJAX自动完成功能的js封装源码[支持中文]第1/2页

Screenshots Pagination Internationalization Rich format Text selection 源码下载 有个问题,等高手解决,就是怎么搞都不能支持中文,不知道要改哪个地方!期待 ASP+AJAX autocompant ASP完整演示 ASP+AJAX源码下载 翻页和其他扩展功能正在完善 复制代码 代码如下: 比如         new CAPXOUS.AutoComplete("wiki", function() {         

完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码_javascript技巧

今天给大家分享一段设为首页.收藏本站及保存到桌面的js代码,非常实用. 复制代码 代码如下: <script  type="text/javascript"> //设为首页 function SetHome(obj,url){     try{         obj.style.behavior='url(#default#homepage)';         obj.setHomePage(url);     }catch(e){         if(window.

asp下利用XMLHTTP 从其他页面获取数据的代码_小偷/采集

利用XMLHTTP 从其他页面获取数据 我们在编写ASP代码的时候,大家都知道可以通过post或者get获得form表单的数据,那么我们如何直接获得其他页面上的数据呢?这就要借助xmlhttp协议了.xmlhttp是xmldom技术的一部分. 下面的代码就是一个很简单的例子,我们利用xmlhttp技术,把http://www.xxxx.com/站点首页的代码以xml的形式完全获取,并且在页面中输出. <% Dim objXMLHTTP, xml Set xml = Server.CreateOb

asp下利用XMLHTTP 从其他页面获取数据的代码

利用XMLHTTP 从其他页面获取数据 我们在编写ASP代码的时候,大家都知道可以通过post或者get获得form表单的数据,那么我们如何直接获得其他页面上的数据呢?这就要借助xmlhttp协议了.xmlhttp是xmldom技术的一部分. 下面的代码就是一个很简单的例子,我们利用xmlhttp技术,把http://www.xxxx.com/站点首页的代码以xml的形式完全获取,并且在页面中输出. <% Dim objXMLHTTP, xml Set xml = Server.CreateOb

XMLHTTP刷新远程数据的PHP JS代码演示(支持中文)

xmlhttp,无刷新声,无漏斗标记,效果最好,不过就是对浏览器要求高,好在我的应用只是一个附属的功能,因此不需要用户必须开启这个控件--最后决定采用这个方案 我写了一个测试程序,代码如下,供大家参考: ==test2.php================= <? session_start(); echo "现在时间是:".date("Y-m-d H:i:s ",time()); ?> ==eg4.php================== <

屏蔽Flash右键信息的js代码_javascript技巧

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

根据出生日期自动取得星座的js代码_javascript技巧

无奈啊~只怪读书时没有好好用功~看着JavaScript,一个头顿时变成两个........ 还好网络提供了很好的资料库~看了下,然后自己改了下,基本算能完成任务吧~写下一份存档,留待日后 复制代码 代码如下: function xingzuo() { var start = 1901, date=document.getElementById("txtDay").value, month=document.getElementById("txtMonth").va

Iframe 自适应高度并实时监控高度变化的js代码_javascript技巧

google N次 + 百度M次 + 试验了1605次之后(听说农药1605就是实验了这么多次后出来的),得出下面成果,在IE7及Firefox3里试了下还能凑合着用用! 1.首先给出个Iframe. 复制代码 代码如下: <iframe id="ifrm" marginheight="0" marginwidth="0" height="100" width="1000" frameborder=&