它的原理是将该文本框的东西存储进一个 Cookie. 如果没提交成功(原因可能是浏览器崩溃),下次访问该页面时询问是否导入上次存储的东西。
function AutoSave(it) { // it 指调用的文本框
var _value = it.value; // 获得文本框的值
if (!_value) {
var _LastContent = GetCookie('AutoSaveContent'); // 获得 cookie 的值,这里的 GetCookie 是个自定义函数,参见源代码
if (!_LastContent) return; // 如果该 cookie 没有值,说明是新的开始
if (confirm("Load Last AutoSave Content?")) { // 否则询问是否导入
it.value = _LastContent;
return true;
}
} else {
var expDays = 30;
var exp = new Date();
exp.setTime( exp.getTime() + (expDays * 86400000) ); // 24*60*60*1000 = 86400000
var expires='; expires=' + exp.toGMTString();
而这 HTML 中应当如此:// SetCookie 这里就是设置该 cookie
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
document.cookie = "AutoSaveContent=" + escape (_value) + expires;
}
}
第一句导入 js, 第二句的 onSubmit 指如果提交了就删除该 cookie, 而 DeleteCookie 也是自定义的一个函数。参见源代码。
script language=JavaScript src='/javascript/AutoSave.js'/script
form action="submit" method="POST" onSubmit="DeleteCookie('AutoSaveContent')"
textarea rows="5" cols="70" wrap="virtual" onkeyup="AutoSave(this);" onselect="AutoSave(this);" onclick="AutoSave(this);"/textarea
input type="submit"/form
大致就是如此。 Enjoy!
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)源代码:http://www.fayland.org/javascript/AutoSave.js