慎用JavaScript修改Form的元素的值

很早就收到一个Bug说修改了某个元素的值以后,点击Next提交然后使用浏览器的Back按钮返回,结果那个元素的值是提交以前的值。
这个应该是浏览器的History功能的限制,它不能记录你的Javascript代码对Form元素的值的修改。在完成向导之类的功能的时候不要使用自定义的表单元素,或者不要用JavaScript去修改其它的需要提交的元素的值,这些修改都不会被浏览器的History功能记录。当用户点击浏览器的后退时,他可能看到不是他期望的结果。
一般要解决这个问题,要么禁用浏览器的后退功能(很多MIS系统可能都是这么干的),自己另外提供一个后退功能重新从后台取数据并刷新页面。
要么使用Cookie记录那些操作并在页面的onload事件里面从Cookie提取那些记录。
无论是那种方法都不是很方便。

不知道有没有完美的解决方案。另外这个问题对IE和FF都是有效的。


作者: Cherami
原载: 慎用JavaScript修改Form的元素的值
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

日志评价

 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 (暂无评价) --点击星星直接投票
Loading ... Loading ...


相关日志



随机日志



添加到网摘

[del.icio.us]  [新浪 VIVI]  [365key]  [YouNote]  [博采中心]  [Poco]  [SOHU狐摘]  [天极网摘]  [和讯网摘]
喜欢这个插件?

当前日志信息