2

所以我有一个 .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 使得 bodyonload = function B

出于某种原因,我在函数 A 中的调试表明 的分配savedObj = obj工作正常,但在 中function BsavedObj打印出 null。

多谢你们

4

2 回答 2

2

这是因为您的函数 B在 JSP 的主体完成加载时被调用。这将发生在特定 DOM 元素上的任何更改事件之前。

如果您需要函数 B来更新savedObj,您需要等待调用它,直到在您的 DOM 元素上触发 change 事件。

注意:这假设您的 JSP 包含在同一个呈现的页面中,如果没有,则发生这种情况是因为 JavaScript 状态不会在页面之间保持不变

于 2012-06-15T20:18:50.517 回答
0

使用 cookie 存储值无疑是使值在各个页面中持续存在的最佳方式。如果您不想进入 cookie,您可以使用 javascript 编写新页面来代替当前页面并保留该值,但它很混乱,您最好花时间学习 cookie。

于 2012-06-15T20:32:35.633 回答