onsubmit属性无法打开新窗口

时间:2012-12-27 20:28:32

标签: javascript forms redirect window.open onsubmit

这里有一个关于表格的快速问题。我在网上搜索过,似乎无法弄清楚为什么我实施的内容无效。

这个想法很简单。我在JSP页面中有一个表单。表单有一个'onsubmit'属性,定义为使用一些参数打开不同的jsp。在表单中我有几个按钮,其中一个调用JavaScript函数,然后提交表单(在某些条件下)。

这是代码: JSP:

...
<form id='testForm' onsubmit="window.open('another.jsp')">
  <input type="button" onclick="callJsFunction()" />
  ..
</form>

JavaScript的:

function callJsFunction() {
  if (launchNow == 1) {
    var form = document.getElementById("testForm");
    form.submit();
  }
}

如果我在表单定义中添加了target =“_ blank”,则会打开一个新窗口,但不会打开我要打开的jsp。最终,我希望表单执行servlet操作(使用action属性),然后打开新的jsp。任何想法???

谢谢!

3 个答案:

答案 0 :(得分:1)

我在寻找的解决方案可以在这里找到:Javascript Post on Form Submit open a new window

我可以将目标设置为我定义并打开的窗口,而不是设置target =“_ blank”。在我的servlet中,我重定向到所需的jsp,它出现在新的弹出窗口中。

答案 1 :(得分:0)

<form id='testForm' action='another.jsp' target='_blank'>

答案 2 :(得分:0)

我可能错了,但这是你在找什么?

请在此链接查看工作演示:http://fiddle.jshell.net/vf6AC/show/light/(不要在jsfiddle中工作)

<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>

请在此处查看jsfiddle:http://jsfiddle.net/vf6AC/