不用Cookie,如何保存表单所填写的数据 解决思路:
在页面刷新或跳转时用 userData 行为保存数据,在页面加载时判断是否存在保存的数据,存在的话就设置表单项的值为保存的数据。 具体步骤:
代码示例:
<script>
function window.onunload(){//退出、刷新文档时执行函数
demo.setAttribute("data",demo.value)
//设置对象demo的自定义属性data的值为demo的当前值
demo.save("cache")//保存数据
}
function window.onload(){ //文档加载时执行函数
demo.load("cache") //加载数据
if(demo.getAttribute("data"))//如果记录存在
demo.value=demo.getAttribute("data")//设置对象demo的值
}
</script>
<input type="text" id="demo"
style="behavior:url(#default#userdata)">
注意:设置对象的行为的代码behavior:url(#default#userdata)是必需的。
特别提示
代码运行后,在文本框中输入文本,然后刷新或者跳转到其它页面,当再次返回或打开该页时,文本框中所填的内容将一直保存。
特别说明
本例主要是默认行为userData在表单中的应用,默认行为userData是用来代替Cookie的一个方案,它的相关方法如下:
load(data) 读取记录信息。
save(data) 保存记录信息 。
obj.setAttribute(Attribute_name,Attribute_value) 设置对象obj的属性Attribute_name值为Attribute_value。
obj.objgetAttribute(Attribute_name) 读取对象obj中属性名为Attribute_name的属性值。