我一直在看这个好几个小时。这是我看过的那个。
JQuery submit not working in Chrome
我也查看了jquery提交
没有一个解决方案适合我。
问题:我的表单中有一个按钮,其中包含一个调用javascript方法的onclick。然后我在页面上有另一个表单(不是在其他表单之外),这是一个帖子表单。在javascript中,我在该表单上调用.submit()。它适用于Firefox和IE,但不适用于Chrome,它在Chrome中重新加载页面并将其保留在同一页面上。 Firefox和IE正确打开帖子页面的新标签页。这是代码:
<h:form id="mainForm>
...
<h:commandLink id="testUrlButtonPost" onclick="submitPage()"
styleClass="secondaryButton" value="#{__VendorAdmin.test}"/>
...
</h:form>
<script type="text/javascript">
function submitPage() {
var url = $('#addEditCatalogForm\\:baseURL').val();
document.getElementById("TestForm").action=url;
$('#TestForm').submit();
}
</script>
<form id="TestForm" name="TestForm" action="" method="post" target="_blank">
<ui:repeat value="#{vendorCatalogView.punchOutCatalog.urlParameters}" var="parameter">
<input type="hidden" name="#{parameter.name}" value = "#{parameter.value}"/>
</ui:repeat>
</form>
我也尝试过:
我正在使用JSF和primefaces。
更新:!!! 所以我在chrome inspect element工具中注意到这个错误:
net :: ERR_INSECURE_RESPONSE我查了一下它似乎处理ssl证书?但问题是网站是一个打出目录搜索,将有很多链接到外部目录使用post。所以我不能手动添加ssl证书,也不希望我们的客户必须这样做。有什么工作吗?
答案 0 :(得分:0)
因此,在没有解决方案的情况下寻找和寻找后,我开始尝试微小的调整。我找到了解决方案。
更改
<h:commandLink id="testUrlButtonPost" onclick="submitPage()"
styleClass="secondaryButton" value="#{__VendorAdmin.test}"/>
到Primefaces commandLink并将onclick更改为oncomplete并将其更改为chrome。
<p:commandLink id="testUrlButtonPost" oncomplete="submitPage()"
styleClass="secondaryButton" value="#{__VendorAdmin.test}"/>
所以现在它适用于chrome,firefox和IE。 Chrome会在新窗口中打开,除非您有一个强制标签的扩展程序。