转自:http://unbounder.iteye.com/blog/459183

一般来说,页面刷新时不保留input键入值的需要比较多,但是也有例外,譬如咱这次就遇上需要保留input键入值。

在firefox这不是问题,ie的刷新机制导致刷新页面时不会从浏览器缓存中读取,所以我们需要解决的问题也集中在ie下。

询问google老师,有以下方法

input{behavior:url(#default#savehistory)};

大致思路是利用行为标签(behavior),在访问页面时默认读取缓存,这里主要是针对ie,firefox默认设置就是如此.

关于behavior标签的使用方法,相见css手册

引用

语法:

behavior : url (url) | url (#objID ) | url (#default#behaviorName)

参数:

url (url) : 使用绝对或相对地址指定DHTML行为组件(.htc)

url (#objID ) : 用二进制实现DHTML行为,#objID为object对象指定的id特性

url (#default#behaviorName) : IE的默认行为。由behaviorName指定

说明:

设置或检索对象的DHTML行为。

多个行为之间用空格隔开。

关于DHTML行为,请参阅我所编写的其他教程。

对应的脚本特性为behavior。请参阅我编写的其他书目。

示例:

div { behavior: url(fly.htc) url(shy.htc); }

如此这般操作后,使用浏览器的刷新按钮在ie下已经能保存input键入值了。

-----------------------------------------------------

不过,我们的工作还没有结束,因为在实际使用中,需要通过js来刷新页面。如果使用window.location.reload();这样的常用刷新操作,ie下依旧会重新加载而不读取浏览器缓存。

那么新的问题出现了,如何才能在用js刷新页面的情况下仍然保存上一次input的键入值呢?

为此,我们更换了刷新方法,使用了execCommand方法

不过值得注意的是execCommand方法并不适应于firefox,我们在js中使用try/catch来解决这个问题,代码如下:

try{

//for IE

document.execCommand('Refresh',false,0);

}catch (BorwerSupportException){

//for firefox

window.location.reload();

}

测试通过,成功!

分享到:

2010-02-04 13:31

浏览 4290

评论

刷新页面保留input所填的值_页面刷新时保留input键入值相关推荐

  1. mysql创建表的时候日期给个默认值_mysql 创建表时 日期字段默认值为当前时间...

    mysql 创建表时 日期字段默认值为当前时间 mysql version 5.1 在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候,就如sqlserver2000一样,把 ...

  2. java中的左值右值_快速了解C/C++的左值和右值

    最近在segmentfault上看到一个提问<c++隐式的类类型转换问题>:一时不知怎么回答,查阅相关资料后整理了本文,以供参考学习. 定义 早期的C给出的定义:左值是一个表达式,可能出现 ...

  3. 微信小程序如何从数组里取值_微信小程序获取各种数据值跟设置数据值

    微信小程序获取各种数据值跟设置数据值. 修改设置data数组中的某个值://小程序接收后台数据若为数组时,下标最好为默认索引数组,从0开始排序 var articleId ='1'//对应数组中的索引 ...

  4. jsonobject修改key的值_修改JSONArray里所有key的值

    下面举一个代码的列子目的是实现如下功能: [{"userId":1,"userName":"plf"},{"userId" ...

  5. python 获取唯一值_从Python列表中获取唯一值

    python 获取唯一值 In this article, we will be understanding 3 ways to get unique values from a Python lis ...

  6. java获取id值_从另一页获取ID值[重复]

    这个问题在这里已有答案: 首先,我使用下面的代码来显示包含客户ID的表引用中的数据,如名称,引用ID和用户ID等,我想更新表引用并根据表中的wid值更新表corders中的wpids值报价 . 提前感 ...

  7. c mysql 的默认值_为mysql表字段设置默认值的方法及注意细节

    为mysql表字段设置默认值的方法及注意细节,有需要的朋友可以参考下. 环境:MySQL 5.1 + 命令行工具 问题:MySQL表字段设置默认值 解决方法: 代码如下: --SQL: CREATE ...

  8. python中布尔型的值_在python中对于bool布尔值的取反操作

    背景 根据公司业务的需求,需要做一个对于mysql数据库的大批量更新.脚本嘛也是干干单单.使用了redis的队列做缓存,可以异步并发的多任务进行更新. 有点难受的地方在于,请求访问时,因为一些网速,速 ...

  9. 如何设置坐标原点值_氨气检测仪电化学原理及报警值如何设置

    氨气体检测仪检定规程: 一般氨气体检测仪检定规程主要是针对技术参数设定的一些标准,具体包含有规程的名称和范围.仪器示值误差.充分性标准差.响应时间.稳定性.报警功能.流量控制器.检定项目表.检定操作有 ...

最新文章

  1. 【必知】国内最设计感的 App推荐
  2. spring boot 异常设计原理
  3. 消息队列mysql redis那个好_Redis作为消息队列与RabbitMQ的比较
  4. EJS脚本中AES应用
  5. 三星全速进军物联网 所有产品都将内置互联功能
  6. linux coreutils升级,Linux命令01--Coreutils软件包01--认识coreutils
  7. CAN总线技术 | 物理层01 - CAN信号电平
  8. MySQL8.0内存相关参数介绍
  9. 单片机原理——MCS-51单片机结构及原理
  10. 51单片机基本工作引脚
  11. 【鹏哥C语言网课笔记】:初始C语言
  12. 机器学习算法----KNN K邻近 (K值的选择) (学习笔记)
  13. 2020腾讯实习生招聘面试算法题
  14. IOS微信内置浏览器音频加载问题
  15. 微信公众号开发之授权
  16. OS性能监控及优化——osw工具详解
  17. python调用大漠多线程_C# - 大漠多线程控制台
  18. 服务器设计系列 网络模型,网络服务器的结构模型
  19. 解决sql update 1292 - Truncated incorrect DOUBLE value:
  20. 有限长信号自相关函数的估计

热门文章

  1. 从零点五开始的深度学习笔记——VAE(Variational AutoEncoder) (二)概率角度理解VAE结构
  2. android 2.1你好八月,八月你好的唯美句子
  3. 边缘计算与云边端协同网络的融合与挑战
  4. 16进制表示的颜色代码
  5. Apache网页的优化,安全与防盗链
  6. java 进程 守护进程_如何制作进程守护进程
  7. 211209-word利用VBA宏命令投稿将修改处标蓝色
  8. Li Hua and Pattern
  9. activiti扩展节点属性(在UserTask节点上添加附件上传功能)
  10. js 判断数据类型的四种方法