0

ページが読み込まれるときに、html本体から4つのJS関数を呼び出そうとしています。これらの各関数は、JSPサーブレットを呼び出してデータベースからデータをフェッチし、それぞれのリストボックスに入力します。リストボックスに事前入力しようとしている編集画面で作業しています。

私はこのようなことを試しています:

      //call the JS to prepopulate the metadata
    function populateOnPageLoad(){
        populateA(); 
        populateB();
        populateC();
        populateD();
    } 

また、bodyonloadで4つの関数すべてを直接呼び出してみました。PopulateD()のみを呼び出して、リストボックスにデータを表示できるようです。挿入操作でこれらのそれぞれをテストしましたが、JSPサーブレットは正常に動作します。これらの関数の順序を変更して、最後の関数だけを呼び出しているかどうかを確認しましたが、そのようには機能していないようです。

ここでの問題とこれに対する可能な解決策は何でしょうか?

ありがとう!

4

3 に答える 3

0

window.onloadとは対照的に見る必要がありますdocument.body.onload。さらに、使用または
を設定するのではなくwindow.onloadwindow.addEventListener('load',populateOnPageLoad,false);

window.addEventListener('load',populateA,false);
window.addEventListener('load',populateB,false);
window.addEventListener('load',populateC,false);
window.addEventListener('load',populateD,false);

また、ajaxを使用している場合はXMLHttpRequest、以前の呼び出しのオブジェクトを上書きしていないことを確認してください(つまり、スコープ/変数名を共有していないことを確認してください)

于 2012-09-05T16:26:02.917 に答える
0

これを試して、

function populateOnPageLoad(){
    setTimeOut(populateA(),500); 
    setTimeOut(populateB(),500);
    setTimeOut(populateC().500);
    setTimeOut(populateD(),500;
} 
于 2012-10-16T14:10:27.530 に答える
0

ページをロードするときに、レコードID(編集しようとしている)をpopulateOnPageLoad()に渡します。そうすると、前のレコードの関連データがそれぞれのリストボックスに入力されます

于 2012-10-30T22:43:25.587 に答える