我一直试图在页面加载时从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工作正常。我甚至改变了这些函数的顺序来检查它是否只是调用最后一个函数,但它似乎没有那样工作。
这里可能存在什么问题,可能解决这个问题?
谢谢!
答案 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()。当我这样做时,它会将前一条记录中的相关数据填充到相应的列表框中