我正在将表单发布到窗口中的另一个页面,使用window.open()
. 我遇到的问题是,当窗口打开时,它变为空白,原始浏览器窗口被重定向到应该在弹出窗口中的页面。
这在 Chrome 中运行良好,但 IE 不是。
任何帮助是极大的赞赏!谢谢
*编辑*
我没有发布代码,因为我认为这是一个概念性问题。正如我之前所说,它适用于其他浏览器,但不适用于 IE。所以我知道我的代码正在运行。但是,如果您需要代码,这里有一个示例:
表格:
<form id="SCartFormId">
<input type="hidden" name="merchantKey" value="E0FU0E14-CC2D-C88N-6TDQ-0A08CCD05610" />
<input type="hidden" name="orderNumber" value="321654" />
<input type="hidden" name="descriptor" value="Test Environment" />
<input type="hidden" name="cart[0].sku" value="V4C3D5C2" />
<input type="hidden" name="cart[0].name" value="Halls" />
<input type="hidden" name="cart[0].unitprice" value="100" />
<input type="hidden" name="cart[0].quantity" value="10" />
<input type="hidden" name="shippingMethodCollection[0].name" value="USPS" />
<input type="hidden" name="shippingMethodCollection[0].price" value="200" />
<input type="hidden" name="descriptor" value="" />
</form>
的JavaScript:
S.Widgets = {};
S.Widgets.PostWidget = (function(widget){
var merchantId = widget.merchantId;
var originForm = widget.orderInput.value;
var render = (function(target) {var targetHtml = document.getElementById(target),
button = document.createElement('button'),
sForm = document.getElementById(originForm);
button.innerText = "Checkout";
button.onclick = function(){
window.open('', 'SWidget', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, width=840, height=840');
sForm.submit();
};
return {
render: render
};
});
此按钮是通过以下方式即时创建的:
new S.Widgets.PostWidget({
merchantId: 'AEIOU1234AEIOU',
orderInput: {value: 'SCartFormId'}
}).render("sButtonId");