2016-05-31 40 views
0

我正在开发一个Struts2 web应用程序,并且我遇到了Firefox的一个问题。如果我使用Chrome测试相同的功能,它可以很好地工作,但是使用firefox则什么都不会发生。让我来解释我做什么:Firefox表单提交目标=“_ blank”

一个jQuery函数创建窗体(wrapper是在我的网页的容器,并myValue取决于用户要求):

var form = $('<form/>', {action: 'myAction', target= '_blank'}); 
var hiddenInput = $('<input/>', {type: 'hidden', name= 'reportId', value= myValue}); 

myWrapper.append(form.append(hiddenInput)); 
form.submit(); 

当我提交表单Struts2的创建使用Jasper进行报告,并在新选项卡中打开PDF文档。

但在Firefox中我看到表单提交,我发现Struts2生成PDF,但新选项卡未打开。我在Ubuntu 14.04 LTS下开发,Firefox的版本是46.0.1。

回答

0

我遇到了同样的问题,并通过将表单附加到文档然后在提交后删除它来解决它。

var testHTML = angular.element('<form id="testForm" target="_blank" action="something.html" method="post" <input type="hidden" name="FirstName"/>'); 

angular.element(document.body).append(testHTML); 
testHTML.submit(); 
angular.element(testHTML).remove();