【发布时间】:2022-01-11 16:55:20
【问题描述】:
我正在尝试调用 javascript 函数从数据库中获取数据。当页面加载 其他产品应获取点击事件的数据。但只有 onclick 我正在获取数据,当页面第一次加载时它是空白页面。 请指导我。请在下面找到我的代码。 java和jsp页面
<% for(int i=0;i<vProductLine.size();i++){
if(i == 0) { %>
<%-- <td id="onglet<%= i %>" class="<% if(nOnglet.equals(""+i)) out.print("ongletActif"); else out.print("ongletInactif"); %>" onload="displayOnglet('<%= i %>')"> --%>
<td id="onglet<%= i %>" class="<% if(nOnglet.equals(""+i)) out.print("ongletActif"); else out.print("ongletInactif"); %>" onload="displayOnglet('<%= i %>')">
<table border="0" cellpadding="0" cellspacing="0">
<tr><td nowrap align="center"><b><j2ee:text id="xmlFile" tag="<%= vProductLine.elementAt(i).toString() %>"/></b></td></tr>
<tr><td align="center"><span id="obj_<%= vProductLine.elementAt(i) %>"></span></td></tr>
</table>
</td>
<% }else{ %>
<td id="onglet<%= i %>" class="<% if(nOnglet.equals(""+i)) out.print("ongletActif"); else out.print("ongletInactif"); %>" onclick="displayOnglet('<%= i %>')">
<table border="0" cellpadding="0" cellspacing="0">
<tr><td nowrap align="center"><b><j2ee:text id="xmlFile" tag="<%= vProductLine.elementAt(i).toString() %>"/></b></td></tr>
<tr><td align="center"><span id="obj_<%= vProductLine.elementAt(i) %>"></span></td></tr>
</table>
</td>
<% }} %>
【问题讨论】:
-
你的意思是
onload="displayOnglet('<%= i %>')"不工作? -
是的,添加onload功能后,第一个产品列表仍然没有加载数据。它显示空白屏幕。但是当我们单击同一页面上的其他产品列表并返回(通过单击)第一个产品时。它正在加载数据。
-
实际上
onload事件永远不会在td标签上触发,您可以为它们定义onload的标签是:<body>, <frame>, <frameset>, <iframe>, <img>, <input type="image">, <link>, <script> and <style>。 -
好的,我必须在第一个索引元素上调用 onload 函数,在这种情况下我应该使用什么。因为 body 标记已用于我页面中的另一个 onload 功能。
-
你说的是什么意思,因为我的页面中的另一个onload功能已经使用了body标签。?您可以在 body onload 中定义多个操作,例如:
function f1(){ // do something}; function f2(){ // do something}; document.body.onload= function(){ f1(); f2(); }这种方法无法解决您的问题?
标签: javascript java html jsp