我知道这种问题有不同的问题。但我的问题有点不同。
我有代码来执行表单提交和代码以在新窗口中打开它。 但我在这里有一个缺失的部分。
一旦我将值附加到请求体,我不知道如何生成完整的URL.window.open()期望url作为第一个参数,我不知道如何检索它。
<script type="text/javascript">
function openviewerSelected() {
var docIds = "{949FFEED-B90B-45DE-BC8A-BDA020D4BCEA}";
if (docIds == null || docIds == "") {
alert("Select atleast one document");
}
else {
var form = document.createElement("form");
form.setAttribute("method", "get");
form.setAttribute("action", "http://aaaa-xxxx.yyyy.com:84/ICNECM/SSOLoginServlet");
form.setAttribute("target", "_blank");
var input3 = document.createElement('input');
input3.type = 'hidden';
input3.name = 'docInfoItems';//'docIds';
input3.value = docIds;
form.appendChild(input3);
var input4 = document.createElement('input');
input4.type = 'hidden';
input4.name = "externalUserId";
input4.value = "abc";
form.appendChild(input4);
document.body.appendChild(form);
var url = "What should be the value?"//document.body.appendChild(form);
var left = (screen.width / 2) - (1000 / 2);
var right = (screen.height / 2) - (600 / 2);
var specsDetails = 'width=1000,height=600,location=no,menubar=no,resizable=no,status=no,titlebar=no,toolbar=no,left=' + left + ',top=' + right + ',scrollbars=yes';
window.open(url, '', specsDetails, '');
form.submit();
debugger;
document.body.removeChild(form);
}
}
</script>
答案 0 :(得分:0)
好的,从您的评论判断
@minitauros,一旦我将输入参数值添加到表单中,我需要获取生成的Url,以便我可以将window.open()方法传递给它。没有window.open()代码,它将在新选项卡中打开。但我希望它在一个新窗口中打开.i.e。为什么specsDetails。
我想说你想在表单提交时打开一个新窗口而不是新选项卡。
如果是这种情况,请考虑以下示例:
form.addEventListener('submit', function(e) {
e.preventDefault(); // Don't trigger the form submit.
var query_string = input1.name + '=' + input1.value
+ '&' + input2.name + '=' + input2.value
+ '&' + input3.name + '=' + input3.value
+ '&' + input4.name + '=' + input4.value; // etc.
var form_action = this.getAttribute('action');
var url = form_action + '?' + query_string;
// Open your popup.
var left = (screen.width / 2) - (1000 / 2);
var right = (screen.height / 2) - (600 / 2);
var specsDetails = 'width=1000,height=600,location=no,menubar=no,resizable=no,status=no,titlebar=no,toolbar=no,left=' + left + ',top=' + right + ',scrollbars=yes';
window.open(url, '', specsDetails, '');
});
&#13;