我在javascript上很新,我遇到了一个问题: 我有一个通过jsp页面中的按钮调用Action的方法。
问题是,我想在加载我的jsp页面后立即执行此Action,而不必使用按钮事件。
我试图在JSP主体内部使用onload()事件。这会在加载后执行我的Action,但是,它会保持无限循环,因为它会一遍又一遍地加载页面。
<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">
无论如何都要避免这种无限循环? 非常感谢!
答案 0 :(得分:0)
您可以尝试AJAX执行您的操作,而无需提交表单。
答案 1 :(得分:0)
有很多可能的方法可以解决这个问题,但我会从最喜欢的方式开始:
BODY onLoad="window.location.href='EXAMPLE.html';" onUnload="send();"
这里发生的事情是,它首先要做的是将您带到一个新的网页(“EXAMPLE.html”),但它必须在退出时运行您的JavaScript。通过这样做,它无法进入无限循环。
另一种方法:
BODY onLoad="send();window.close();"
有了这个,它将在运行命令后尝试关闭窗口。我不是这个的忠实粉丝,因为window.close命令的行为可能会有所不同,具体取决于他们使用的浏览器,而且几乎总是需要个人同意关闭它。但是,它可能适合你。