Javascript 无法停止window.onload功能

Javascript 无法停止window.onload功能,javascript,struts2,Javascript,Struts2,我试图使用window.onload使用struts2操作初始化页面,但它陷入了某种循环,并不断调用init javascript函数 我的代码如下: javascript <script> function init(){ document.getElementById("test").action="test"; document.getElementById("test").submit(); } window.onloa

我试图使用window.onload使用struts2操作初始化页面,但它陷入了某种循环,并不断调用init javascript函数

我的代码如下:

javascript

<script>
    function init(){
        document.getElementById("test").action="test";
        document.getElementById("test").submit();
    }
    window.onload=init;
</script>

函数init(){
document.getElementById(“test”).action=“test”;
document.getElementById(“测试”).submit();
}
window.onload=init;
jsp文件

<html>
    <body onload="init();">
        ...
        <s:form id="test" method="post">
            <s:select id="selectThing" onchange="init();">...</s:select>
        </s:form>
    </body>
</html>

...
...

每次刷新时都会调用
init()
,这就是您要求代码执行的操作。另外,您为什么要在
onchange
事件中调用此函数。

不是问题的原因,而是您为什么有
body onload
window.onload
?两者都有相同的功能。@PSL哦…我认为它们应该在一起,以使初始化工作…我将尝试删除一个,看看它是如何工作的。@PSL不…删除它们中的任何一个都不会在刷新页面时产生任何效果我所说的“循环”页面会自动刷新。@Z.pyyy这正是他解释的<调用code>init(),然后您提交表单,我猜同样的页面会加载,表单会再次提交,并且会继续提交,因为body
onload
页面将永远不会刷新,除非您要求它这样做。这是一些触发,使它刷新。只需禁用每个函数调用,看看是哪个函数调用