Javascript onsubmit属性无法打开新窗口
这里有一个关于表单的快速问题。我在网上搜索过,似乎不明白为什么我实现的东西不起作用 这个想法很简单。我在JSP页面中有一个表单。表单定义了一个“onsubmit”属性,用于打开带有一些参数的不同jsp。在表单内部有几个按钮,其中一个按钮调用JavaScript函数,JavaScript函数反过来提交表单(在某些情况下) 代码如下: JSP: 如果我在表单定义中添加target=“\u blank”,则会打开一个新窗口,但不会打开我要打开的jsp。最后,我希望表单执行一个servlet操作(使用action属性),然后打开新的jsp。有什么想法吗 谢谢Javascript onsubmit属性无法打开新窗口,javascript,forms,redirect,window.open,onsubmit,Javascript,Forms,Redirect,Window.open,Onsubmit,这里有一个关于表单的快速问题。我在网上搜索过,似乎不明白为什么我实现的东西不起作用 这个想法很简单。我在JSP页面中有一个表单。表单定义了一个“onsubmit”属性,用于打开带有一些参数的不同jsp。在表单内部有几个按钮,其中一个按钮调用JavaScript函数,JavaScript函数反过来提交表单(在某些情况下) 代码如下: JSP: 如果我在表单定义中添加target=“\u blank”,则会打开一个新窗口,但不会打开我要打开的jsp。最后,我希望表单执行一个servlet操作(使用a
<form id='testForm' action='another.jsp' target='_blank'>
我可能错了,但这就是你要找的吗 请参见此链接的工作演示:(不要在JSFIDLE中工作)
var testForm=document.getElementById(“testForm”);
testForm.onsubmit=函数(e){
窗口打开(“http://stackoverflow.com");
返回true;
};
请看这里的jsfiddle:我可能错了,但这就是您想要的吗 请参见此链接的工作演示:(不要在JSFIDLE中工作)
var testForm=document.getElementById(“testForm”);
testForm.onsubmit=函数(e){
窗口打开(“http://stackoverflow.com");
返回true;
};
请参见此处的JSFIDLE:我所寻找的解决方案可在此处找到:
我可以将目标设置为我定义并打开的窗口,而不是设置target=“_blank”。在我的servlet中,我重定向到所需的jsp,它将出现在新的弹出窗口中。我正在寻找的解决方案可以在这里找到:
我可以将目标设置为我定义并打开的窗口,而不是设置target=“_blank”。在我的servlet中,我重定向到所需的jsp,它将出现在新的弹出窗口中。如果添加
newForm.jsp,它将在新窗口中打开。但是我不明白为什么你不使用
而不是按钮
,然后在onSubmit
中使用callJsFunction
。如果你添加
newForm.jsp应该在新窗口中打开,请查看我在建议答案下面的评论。但是我不明白为什么你不使用
而不是按钮
,然后在onSubmit
中使用callJsFunction
。请查看我在建议答案下面的评论。我不想占用操作参数,因为我还需要调用servlet来进行一些处理。我想一个更好的问题是,我可以从servlet重定向到一个新窗口吗?如果action.“…”
用于其他用途,那么在提交表单时决定执行什么操作的逻辑在哪里?据我所知,您需要使用提交处理程序截取表单提交,执行任何需要的操作,可能包括ajax调用,然后无条件地返回false
以抑制自然表单提交。我不想占用action参数,因为我还需要调用servlet来进行一些处理。我想一个更好的问题是,我可以从servlet重定向到一个新窗口吗?如果action.“…”
用于其他用途,那么在提交表单时决定执行什么操作的逻辑在哪里?据我所知,您需要使用提交处理程序拦截表单提交,执行任何需要的操作,可能包括ajax调用,然后无条件返回false
以抑制自然表单提交。谢谢大家。我在这里找到了我想要的:谢谢大家。我在这里找到了我想要的:
function callJsFunction() {
if (launchNow == 1) {
var form = document.getElementById("testForm");
form.submit();
}
}
<form id='testForm' action='another.jsp' target='_blank'>
<form action="http://google.com" id="testForm">
<input type="submit" />
</form>
<script type="text/javascript">
var testForm = document.getElementById("testForm");
testForm.onsubmit = function(e){
window.open("http://stackoverflow.com");
return true;
};
</script>