所以我有一个.js文件,有2个不同的jsp页面调用。
.js
文件包含:
var savedObj;
function A(obj){ savedObj = obj);
function B(){ alert(savedObj);
X.jsp
文件调用函数A,使得DOM元素onchange = functionA(this);
Y.jsp
文件调用函数B使得正文onload = function B
出于某种原因,我在函数A中的调试显示savedObj = obj
的分配正常工作,但在function B
中,savedObj
打印出null。
谢谢你们
答案 0 :(得分:2)
发生这种情况是因为在JSP主体加载完毕后正在调用函数B 。这将在特定DOM元素的任何更改事件之前发生。
如果您需要功能B 来更新 savedObj ,则需要等待调用它,直到您的DOM元素触发更改事件为止。
注意:这假设您的JSP包含在同一个呈现的页面中,如果不是,则会发生这种情况,因为JavaScript状态不会在页面之间持久存在
答案 1 :(得分:0)
使用cookie来存储值肯定是使值在各个页面中保持不变的最佳方式。如果您不想进入cookie,您可以使用javascript编写新页面代替当前页面并保留值,但它很麻烦,您最好花时间学习cookie。