我有一个画面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变量里的值记不住呢?
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变量里的值记不住呢?
<input name="title" type="text" value="${title}"/>
history.go(-1), 是从浏览器缓存中,也就是栈中直接提取, 试想之下, 浏览器还会保存你的 js 里面的变量值吗, 至于那些表单数据还保存, 那是生成静态页面的结果。如果想重新获取 js里面的变量,貌似也没有其他的办法,看能不能把变量保存到服务器中,或在页面上做个跳转,不要用 history.go() 的方式