2

だから私は2つの異なるjspページが呼び出す.jsファイルを持っています。

.jsファイルには以下が含まれます:

var savedObj;

function A(obj){ savedObj = obj);

function B(){ alert(savedObj);

X.jspファイルは関数 A を呼び出し、DOM 要素がonchange = functionA(this);

Y.jspファイルは、本体がonload = function B

何らかの理由で、関数 A での私のデバッグは、 の代入がsavedObj = obj正しく機能したことを示していますが、function BではsavedObjnull を出力しました。

みんなありがとう

4

2 に答える 2

2

これは、JSP の本体のロードが完了したときに関数 Bが呼び出されているために発生しています。これは、特定の DOM 要素の変更イベントの前に発生します。

関数 Bに更新されたsavedObjが必要な場合は、DOM 要素で change イベントが発生するまで関数 B の呼び出しを待つ必要があります。

注:これは、JSP が同じレンダリングされたページに含まれていることを前提としています。含まれていない場合は、JavaScript の状態がページ間で保持されないために発生しています。

于 2012-06-15T20:18:50.517 に答える
0

Cookie を使用して値を保存することは、さまざまなページで値を保持するための最良の方法です。Cookie を使いたくない場合は、javascript を使用して現在のページの代わりに新しいページを記述し、値を保持することもできますが、面倒なので、時間をかけて Cookie を学習することをお勧めします。

于 2012-06-15T20:32:35.633 に答える