var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("target" , "previewWindow")
form.setAttribute("action", "partner_api/preview.php");
var pidField = document.createElement("input");
pidField.setAttribute("type", "hidden");
pidField.setAttribute("name", "pid");
pidField.setAttribute("value", "<?php echo $partnerID; ?>");
form.appendChild(pidField);
var bidField = document.createElement("input");
bidField.setAttribute("type", "hidden");
bidField.setAttribute("name", "bid");
bidField.setAttribute("value", boxID);
form.appendChild(bidField);
window.open('', 'previewWindow', 'width=235,height=500,left=100,top=100');
form.submit();
您好,
我上面的代码有问题 - 它确实在Chrome上完美运行,但在Firefox和IE上却没有。 应该做的是将创建的表单提交到新的弹出窗口,但在FF / IE上它只留下空白窗口。
有没有解决这个问题?
答案 0 :(得分:1)
我实际上找到了解决方案 - 如果有人需要它。需要将表单添加到文档以使其工作。 document.documentElement.appendChild(形式);它解决了IE / FF上的问题
答案 1 :(得分:0)
对于未来的读者:在JS中检查此功能以提交一个来自并打开一个新选项卡。
function postData() {
var ElementValue = document.getElementById('Id of element').value;
var form = document.getElementById("formName");
form.setAttribute("method", "post");
form.setAttribute("action", "Your Url");
form.setAttribute("target", "_blank");
var NewElement = document.createElement("input");
hiddenFieldSerialNo.setAttribute("input", "hidden");
hiddenFieldSerialNo.setAttribute("name", "ElementName");
hiddenFieldSerialNo.setAttribute("value", ElementValue);
form.appendChild(NewElement);
document.documentElement.appendChild(form);
form.submit();
}