首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用onload事件避免无限循环

使用onload事件避免无限循环
EN

Stack Overflow用户
提问于 2014-04-16 10:26:54
回答 2查看 2.2K关注 0票数 0

我是javascript的新手,我遇到了一个问题:我有一个方法,它通过我的jsp页面中的一个按钮调用Action。

问题是,我希望在加载jsp页面后立即执行此操作,而不必使用按钮事件。

我尝试在JSP主体中使用onload()事件。这确实会在加载后执行我的Action,但是,它停留在无限循环中,因为它一遍又一遍地加载页面。

代码语言:javascript
复制
<script language="JavaScript" type="text/javascript">
    function send()
    {
        document.forms['thisForm'].submit(); 
    }
</script    
....
<body onload="send()">

<html:form action="/something/foo.do?method=methodFoo" method="post">

有什么办法可以避免这种无限循环吗?非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2014-04-16 10:54:15

您可以尝试AJAX在不提交表单的情况下执行您的操作。

票数 0
EN

Stack Overflow用户

发布于 2017-04-25 03:41:04

有许多可能的方法可以解决这个问题,但我将从我最喜欢的方法开始:

代码语言:javascript
复制
BODY onLoad="window.location.href='EXAMPLE.html';" onUnload="send();"

这里发生的事情是,它做的第一件事是将你传递到一个新的网页("EXAMPLE.html"),但它必须在退出时运行你的JavaScript。这样做就不能进入无限循环。

另一种方法:

代码语言:javascript
复制
BODY onLoad="send();window.close();"

使用此命令,它将在运行您的命令后尝试关闭窗口。我对此不是很感兴趣,因为window.close命令可能会根据他们使用的浏览器而有所不同,而且它几乎总是需要个人同意才能关闭它。但是,它可能会对你起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23097924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档