1

这里有一个关于表单的快速问题。我在网上搜索过,似乎无法弄清楚为什么我实施的方法不起作用。

这个想法很简单。我在 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。有任何想法吗???

谢谢!

4

3 回答 3

1

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

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

于 2012-12-27T22:54:20.373 回答
0
<form id='testForm' action='another.jsp' target='_blank'>
于 2012-12-27T20:34:24.627 回答
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/

于 2012-12-27T21:30:11.540 回答