关于history.go(-1)返回前画面后,画面里js代码中定义的变量值没有记住,如何解决?

kbryant 2010-01-18 11:53:27
我有一个画面A,页面js部分定义了几个变量,代码如下:

var aArray = new Array(10);
var bArray = new Array(10);
var cArray = new Array(10);
var sSelectIndex = 0;
var rSelectIndex = 0;

var dArray = new Array(10);
var eArray = new Array(10);
var fArray = new Array(10);
var ssSelectIndex = 0;
var rrSelectIndex = 0;

var serCusFlg = 0;

for(var a1 = 0; a1 < 10; a1 ++) {
aArray[a1] = "";
dArray[a1] = "";
}
for(var b1 = 0; b1 < 10; b1 ++) {
bArray[b1] = new Array(10);
eArray[b1] = new Array(10);
for(var b2 = 0; b2 < 10; b2 ++) {
bArray[b1][b2] = "";
eArray[b1][b2] = "";
}
}

for(var c1 = 0; c1 < 10; c1 ++) {
cArray[c1] = new Array(10);
fArray[c1] = new Array(10);
for(var c2 = 0; c2 < 10; c2 ++) {
cArray[c1][c2] = new Array(30);
fArray[c1][c2] = new Array(30);
for(var c3 = 0; c3 < 30; c3 ++) {
cArray[c1][c2][c3] = "";
fArray[c1][c2][c3] = "";
}
}
}

也就是几个数组变量,画面初期化进来时都赋值为空,但是在画面上有一些操作,会对这些数组进行赋值,然后点击提交后如果check不过会迁移error画面,error画面点返回按钮后做的是history.go(-1)操作,直接返回A画面,数组里的值都没了,都变成空了,为什么没有记住呢,难道history.go(-1)返回回来后是画面初期化的状态?后面的操作都记不住?但是为什么画面上text框里的值是有的呢,初期化为空的,填了值进去返回回来的时候值还在呢。为什么js变量里的值记不住呢?
...全文
657 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sohighthesky 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kbryant 的回复:]
谢谢各位,已经解决了,我在页面上定义几个隐藏域,把js变量值先放在隐藏域里,这样画面是可以记住的
[/Quote]学习
reandyner 2010-01-19
  • 打赏
  • 举报
回复
我以前也遇到过同样的问题,用js动态添加的数组值都为空,我把值都保存session中了
tuo_bing 2010-01-19
  • 打赏
  • 举报
回复
学习 。。。
zchcs 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 crazylaa 的回复:]
引用 8 楼 kbryant 的回复:
谢谢各位,已经解决了,我在页面上定义几个隐藏域,把js变量值先放在隐藏域里,这样画面是可以记住的

刚想说用hidden可以,原来你自己发现了,哈哈
[/Quote]


都让你们说了
owen_008 2010-01-19
  • 打赏
  • 举报
回复
非常好~~~~~~~~~~~~~~~~~~~~~~~~~~我顶
Z_FEI 2010-01-19
  • 打赏
  • 举报
回复
解决了好,帮顶
阿_布 2010-01-18
  • 打赏
  • 举报
回复
帮顶,等高手!
Marty束 2010-01-18
  • 打赏
  • 举报
回复
可能不太理解楼主的意思,这是我在struts2 里面当提交不成功时返回 输入页面,显示以前“输入”的值
<input name="title" type="text" value="${title}"/>
colin_pxx 2010-01-18
  • 打赏
  • 举报
回复
学习
zl3450341 2010-01-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 crazylaa 的回复:]
引用 8 楼 kbryant 的回复:
谢谢各位,已经解决了,我在页面上定义几个隐藏域,把js变量值先放在隐藏域里,这样画面是可以记住的

刚想说用hidden可以,原来你自己发现了,哈哈
[/Quote]
...
crazylaa 2010-01-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kbryant 的回复:]
谢谢各位,已经解决了,我在页面上定义几个隐藏域,把js变量值先放在隐藏域里,这样画面是可以记住的
[/Quote]
刚想说用hidden可以,原来你自己发现了,哈哈
kbryant 2010-01-18
  • 打赏
  • 举报
回复
谢谢各位,已经解决了,我在页面上定义几个隐藏域,把js变量值先放在隐藏域里,这样画面是可以记住的
zhangzhenting 2010-01-18
  • 打赏
  • 举报
回复
浏览器以栈的形式保存你浏览的数据,实际上保存的也就是HTML数据,在浏览器的临时记录里面可以找到的。
history.go(-1), 是从浏览器缓存中,也就是栈中直接提取, 试想之下, 浏览器还会保存你的 js 里面的变量值吗, 至于那些表单数据还保存, 那是生成静态页面的结果。

如果想重新获取 js里面的变量,貌似也没有其他的办法,看能不能把变量保存到服务器中,或在页面上做个跳转,不要用 history.go() 的方式
changshoujun 2010-01-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dengzhangsong 的回复:]
你使用history.go(-1);等于把页面做了一次刷新,数组里面的值当然会没有在了,至于为什么刷新后输入框还有值,使用history.go(-1)就是会这样;
[/Quote]
正解~
码农小小鸟 2010-01-18
  • 打赏
  • 举报
回复
你使用history.go(-1);等于把页面做了一次刷新,数组里面的值当然会没有在了,至于为什么刷新后输入框还有值,使用history.go(-1)就是会这样;
kbryant 2010-01-18
  • 打赏
  • 举报
回复
没人知道吗?
绿源化工二甲醚生产线设计项目是一项旨在探究和实现二甲醚生产的创新工程,其核心在于构建一个既经济又环保的生产工艺。通过深入市场调研、技术分析和财务评估,本可行性研究报告详尽地阐述了项目的必要性、实施步骤以及预期的经济、社会和环境效益。报告指出,随着能源需求的增长和环保标准的提升,二甲醚作为一种清洁燃料和重要的化工原料,其市场需求正逐渐扩大。因此,建设一条高效、低排放的二甲醚生产线不仅能满足市场的需要,还能促进相关产业的升级。在技术层面,报告提出了采用先进的合成气技术和催化剂,以提高转化率和产品纯度,同时降低生产成本。此外,项目还着重考虑了生产过程的能源回收与循环利用,力求达到节能减排的目的。经济分析部分显示,通过合理的财务规划和成本控制,该项目有望在投产后几年内实现盈利,并为投资者带来稳定的回报。从社会效益角度出发,绿源化工的二甲醚生产线能够为当地创造就业机会,推动地方经济发展,并有助于缓解环境污染问题。报告还强调了项目在执行过程将严格遵守环保法规,确保生产过程安全且对环境的影响最小化。综上所述,绿源化工二甲醚生产线设计项目是一个集技术创新、经济效益和社会责任于一体的创业计划。它不仅

81,087

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧