我正在尝试在提交表单时打开一个新窗口,我有以下代码:
var action = window.open("http://myurl.com" + code + "&rp=" + window.rp + "23-421B-A4A2-";)
$('#theForm').attr("action", action);
然而,这会导致错误,如何正确附加window.open?感谢。
答案 0 :(得分:0)
我认为你在寻找的是:
$('#theForm').click(function(event) { // or $('#theForm').submit(function(event) {
event.preventDefault();
window.open("http://myurl.com" + code + "&rp=" + window.rp + "23-421B-A4A2-", windowHandle);
});
有关window.open的更多信息。
答案 1 :(得分:0)
这应该是这样的:
<form id="theForm" action="http://myurl.com/.../...?..." target="_blank"></form>
答案 2 :(得分:0)
有两种方法可以解决这个问题:
使用&#34;动作&#34; +&#34; target = _blank&#34;
var action = "http://myurl.com" + code + "&rp=" + window.rp + "23-421B-A4A2-";
$("#theForm").attr("action", action).atrr("target", "_blank");
使用&#34; onsubmit&#34;事件
$("#theForm").on("submit", function(e) {
e.preventDefault();
window.open("http://myurl.com" + code + "&rp=" + window.rp + "23-421B-A4A2-");
}
编辑:
显示HTML后,还有其他问题:
你的JS中有这个代码:
$('#submit').click(function($e) {
$e.preventDefault(); //Don't want button submitting the form because the action is not correct
if (window.console) console.log($('#theForm').attr("action"));
window.parent.location = ($('#theForm').attr("action"));
});
因此,您需要将此代码修改为(或类似的东西):
$('#submit').click(function($e) {
$e.preventDefault(); //Don't want button submitting the form because the action is not correct
if (window.console) console.log($('#theForm').attr("action"));
window.open($('#theForm').attr("action"));
});