在页面加载时调用多个Javascript函数

时间:2012-09-05 16:17:48

标签: javascript html jsp

我一直试图在页面加载时从html体中调用4个JS函数。 这些函数中的每一个都调用JSP servlet从数据库中获取数据并填充在相应的列表框中。我正在编辑屏幕上,我正在尝试预填充列表框。

我正在尝试这样的事情:

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

我也尝试直接在body onload中调用所有4个函数。 它似乎只能调用populateD()并在列表框中显示数据。我已在insert操作中测试了其中的每一个,并且JSP servlet工作正常。我甚至改变了这些函数的顺序来检查它是否只是调用最后一个函数,但它似乎没有那样工作。

这里可能存在什么问题,可能解决这个问题?

谢谢!

3 个答案:

答案 0 :(得分:0)

您应该window.onload而不是document.body.onload 此外,不是设置window.onload使用window.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个对象(即确保它们不共享范围/变量名称)

答案 1 :(得分:0)

试试这个,

function populateOnPageLoad(){
    setTimeOut(populateA(),500); 
    setTimeOut(populateB(),500);
    setTimeOut(populateC().500);
    setTimeOut(populateD(),500;
} 

答案 2 :(得分:0)

我正在加载页面时将记录ID(我正在尝试编辑)传递给populateOnPageLoad()。当我这样做时,它会将前一条记录中的相关数据填充到相应的列表框中