这里有一个关于表格的快速问题。我在网上搜索过,似乎无法弄清楚为什么我实施的内容无效。
这个想法很简单。我在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。任何想法???
谢谢!
答案 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/