AutoSave/自动存储功能实现
2023-06-13 09:13:55 时间
转自:
它的原理是将该文本框的东西存储进一个Cookie.如果没提交成功(原因可能是浏览器崩溃),下次访问该页面时询问是否导入上次存储的东西。
functionAutoSave(it){//it指调用的文本框
var_value=it.value; //获得文本框的值
if(!_value){
var_LastContent=GetCookie("AutoSaveContent");//获得cookie的值,这里的GetCookie是个自定义函数,参见源代码
if(!_LastContent)return;//如果该cookie没有值,说明是新的开始
if(confirm("LoadLastAutoSaveContent?")){//否则询问是否导入
it.value=_LastContent;
returntrue;
}
}else{
varexpDays=30;
varexp=newDate();
exp.setTime(exp.getTime()+(expDays*86400000));//24*60*60*1000=86400000
varexpires=";expires="+exp.toGMTString();
而这HTML中应当如此://SetCookie这里就是设置该cookie
document.cookie="AutoSaveContent="+escape(_value)+expires;
}
}
第一句导入js,第二句的onSubmit指如果提交了就删除该cookie,而DeleteCookie也是自定义的一个函数。参见源代码。
<scriptlanguage=JavaScriptsrc="/javascript/AutoSave.js"></script>
<formaction="submit"method="POST"onSubmit="DeleteCookie("AutoSaveContent")">
<textarearows="5"cols="70"wrap="virtual"onkeyup="AutoSave(this);"onselect="AutoSave(this);"onclick="AutoSave(this);"></textarea>
<inputtype="submit"></form>
textarea里的onkeyup是指当按键时访问AutoSave,用以存储新写入的文字。
而onselect和onclick用以新访问时确定导入自动保存的文字。
大致就是如此。Enjoy!
源代码:http://www.fayland.org/javascript/AutoSave.js
相关文章
- Python数据存储
- 详解浮点型在内存中的存储
- MySQL存储引擎
- 实现Oracle定时自动执行存储过程(oracle定时存储过程)
- Oracle数据存储:定位精准的存储方式(oracle数据存储位置)
- Oracle数据库的高效空间存储(oracle存储空间)
- MySQL:存储与维护二进制数据(mysql二进制数据)
- MySQL中的二进制数据存储(mysql二进制数据)
- 了解Oracle ASM文件的存储和管理方法(oracleasm文件)
- 使用MySQL存储图片,方法及注意事项(mysql存图片)
- MySQL自动备份-让数据安全存储(mysql 自动备份)
- Redis中存储图片的优势与应用(图片存储在redis)
- Oracle中的iw一种智能表的自动存储(Oracle中iw表示)
- Redis实现自动失效从存储时间中解脱出来(redis 设置时效)
- asp.net中执行存储数据操作时数据被自动截取的一种情况
- mysql存储过程中变量的定义与赋值操作
- 小系统单据自动生成存储过程
- android中使用SharedPreferences进行数据存储的操作方法