使用target =“_ blank”提交Firefox表单

时间:2016-05-31 12:20:42

标签: jquery forms firefox

我正在开发一个Struts2网络应用程序,我遇到了firefox的问题。如果我使用Chrome测试相同的功能,它可以很好地工作,但是使用firefox没有任何反应。让我解释一下我的所作所为:

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。

1 个答案:

答案 0 :(得分: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();