提交 POST 表单后,打开一个新窗口,显示结果

2022-08-30 02:42:09

JavaScript post请求(如表单提交)向您展示如何提交您在JavaScript中通过POST创建的表单。以下是我修改的代码。

var form = document.createElement("form");

form.setAttribute("method", "post");
form.setAttribute("action", "test.jsp");

var hiddenField = document.createElement("input");  

hiddenField.setAttribute("name", "id");
hiddenField.setAttribute("value", "bob");
form.appendChild(hiddenField);
document.body.appendChild(form); // Not entirely sure if this is necessary          
form.submit();

我想做的是在新窗口中打开结果。我目前正在使用类似这样的东西在新窗口中打开页面:

onclick = window.open(test.html, '', 'scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,status=no');

答案 1

<form target="_blank" ...></form>

form.setAttribute("target", "_blank");

到表单的定义。


答案 2

如果你想从Javascript创建和提交你的表单,就像你的问题中一样,你想创建带有自定义功能的弹出窗口,我建议这个解决方案(我把评论放在我添加的行上方):

var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "test.jsp");

// setting form target to a window named 'formresult'
form.setAttribute("target", "formresult");

var hiddenField = document.createElement("input");              
hiddenField.setAttribute("name", "id");
hiddenField.setAttribute("value", "bob");
form.appendChild(hiddenField);
document.body.appendChild(form);

// creating the 'formresult' window with custom features prior to submitting the form
window.open('test.html', 'formresult', 'scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,status=no');

form.submit();