var os_dg=document.getElementById; var os_ButtonCss="style=\"cursor:hand;height:20px;padding:0px 3px;border:1px solid #67C1E4;\""; var os_SelectCss="style=\"font-size:12px;\""; var os_SaveSuccessStr="离线数据保存成功!"; var os_SaveProStr="请输入离线保存的名称:(如为空则用当前时间表示)"; var os_LoadProStr="确认要载入离线数据吗?"; var os_DelProStr="确认要删除离线数据吗?"; var os_DelSuccessStr="离线数据删除成功!"; var os_oUD="OfflineSave_oPersistInput"; var os_DefaultFiledLength=10;//Default Filed length var os_str="OfflineSave_"; var os_CannotSaveStr="保存数据时出现错误![离线保存空间仅限640K]\n\n有可能已超出离线保存容量!请删除部分数据后再保存!"; var os_expires = (new Date(2010,1,1)).toUTCString();
InitOfflineSave(); function InitOfflineSave(){ for(var i=0;i if(document.forms[i].OfflineSave!=null){ os_usd=os_dg("OfflineSave_Area"); var tbs=document.forms[i].ToolsBarStyle==null?"":document.forms[i].ToolsBarStyle; os_CreateToolBar(document.forms[i],tbs); os_GetOfflineSaveList(document.forms[i].id); var cmd=document.forms[i].onsubmit==null?"":document.forms[i].onsubmit; if(cmd!=""){ cmd=document.forms[i].onsubmit+""; cmd=cmd.split("{")[1].split("}")[0].replace("\n",""); } cmd=escape(cmd); eval("document.forms[i].onsubmit=function(){return os_CheckSubmit('"+document.forms[i].id+"','"+cmd+"');}"); break; } } }
function os_CreateToolBar(obj,boolbarstyle){ var hc; hc="
function os_LoadData(id){ var v=os_dg("os_"+id+"_Select").selectedIndex; if(v==0) return;
var ud=os_str+id+os_dg(id).length; if(confirm(os_LoadProStr+"\n\n记录名称:"+os_getUserData(ud,"f_"+v+"_os_savename")+"\n保存时间:"+os_getUserData(ud,"f_"+v+"_os_savedate"))){ var lcount=os_dg(id).length; for(var i=0;i if(os_dg(id).item(i).type!="submit"&&os_dg(id).item(i).type!="reset"&&os_dg(id).item(i).type!="button"&&os_dg(id).item(i).id!="os_"+id+"_Select"){ if(os_dg(id).item(i).type=="radio"||os_dg(id).item(i).type=="checkbox") os_dg(os_dg(id).item(i).id).checked=os_getUserData(ud,"f_"+v+"_"+os_dg(id).item(i).id)=="1"?true:false; else{ if(os_dg(id).item(i).type=="select-multiple"){ var sm=os_getUserData(ud,"f_"+v+"_"+os_dg(id).item(i).id).split(","); var x; for(x=0;x os_dg(id).item(i).options[x].selected=false; for(x=0;x os_dg(id).item(i).options[parseInt(sm[x])].selected=true; } else{ if(os_dg(id).item(i).type=="select-one") os_dg(os_dg(id).item(i).id).selectedIndex=parseInt(os_getUserData(ud,"f_"+v+"_"+os_dg(id).item(i).id)); else{ //alert(os_getUserData(ud,"f_"+v+"_"+os_dg(id).item(i).id)); os_dg(os_dg(id).item(i).id).value=unescape(os_getUserData(ud,"f_"+v+"_"+os_dg(id).item(i).id)); } } } } } } }
function os_DelData(id){ var v=os_dg("os_"+id+"_Select").selectedIndex; if(v==0) return;
var ud=os_str+id+os_dg(id).length; if(confirm(os_DelProStr+"\n\n记录名称:"+os_getUserData(ud,"f_"+v+"_os_savename")+"\n保存时间:"+os_getUserData(ud,"f_"+v+"_os_savedate"))){ var i=0; var ud=os_str+id+os_dg(id).length; var lcount=parseInt(os_getUserData(ud,"count"));
function os_SaveData(id){ if(os_dg(id).length alert("[OfflineSave]Error:\n\n"+id+" no Element!(input,radio,checkbox,select)"); return; }
var sd=new Date(); var sn=prompt(os_SaveProStr,sd.toLocaleString()+":MyData"); var ud=os_str+id+os_dg(id).length; var lcount=os_getUserData(ud,"count"); lcount=lcount==""||lcount==null?1:parseInt(lcount)+1; if(os_dg(id).length*10*2*lcount>64000){ alert(os_CannotSaveStr); return; } try{
function os_GetOfflineSaveList(id){ var ud=os_str+id+os_dg(id).length; var s=os_dg("os_"+id+"_Select"); var lcount=os_getUserData(ud,"count"); var sv=""; while (s.length>0) s.remove(0); lcount=lcount==""||lcount==null?0:parseInt(lcount); if(lcount s.add(new Option("无数据","0")); else{ s.add(new Option("共有"+lcount+"个记录","0")); for(var i=1;i eval("sv=os_getUserData(ud,\"f_"+i+"_os_savename\");"); s.add(new Option(sv,i)); } } }
function os_remUserData(sUDName,sName) { os_usd.load(sUDName); os_usd.removeAttribute(sName); os_usd.save(sUDName); return; }
function os_getUserData(sUDName,sName) { os_usd.load(sUDName); return os_usd.getAttribute(sName); }
function os_delUserData(sUDName){ var oTimeNow = new Date(); // Start Time oTimeNow.setMinutes(oTimeNow.getMinutes()+1); var sExpirationDate = oTimeNow.toUTCString(); os_usd.load(sUDName); os_usd.expires = sExpirationDate; os_usd.save(sUDName); return; }
function os_CanSubmit(url){ var xmlHTTP = window.ActiveXObject? new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest(); xmlHTTP.open("get",url,false); xmlHTTP.send(""); return xmlHTTP.status=="200"; }