我的java webApp(struts2和jQuery)有一个带有表单的jsp:
<s:form id="theForm" action="stampaPosizioneFinanziaria" target="_new">
和一个 jQuery 按钮:
<a id="stampaPerCliente">Stampa standard</a> // rendere by $('#tampaPerCliente').button();
单击按钮时:
$('#stampaPerCliente').click(function(){ avviaStampa(0); });
...
function avviaStampa(tipoStampa) {
$('[name=tipoStampa]').val(tipoStampa); // I set a hidden field
$('#theForm').submit();
// tried document.forms[0].submit(); too, same behavior.
}
因此,打开的新页面(表单目标是_new)调用读取参数表单并显示 pdf 的操作。 一切正常,但是:在 IE 上,当我第一次单击按钮时,它可以工作,第二次不能,第三次可以,依此类推。 “不起作用”意味着该操作的每个输入参数都为空!我监控了请求,在 IE 上没有请求参数! (偶数次,不是奇数次!) 它在 Chrome 和 FF 上运行良好。
请帮忙。
最佳答案
我解决了使用GET方法提交:
<s:form id="theForm" action="stampaPosizioneFinanziaria" target="_new" method="GET">
POST 方法(struts2 s:form 的默认方法)导致了这个问题(?!!!?)。
关于java - 提交表单以在新窗口中打开 pdf 时丢失参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4256312/