以post方式传参方式打开新窗口

以post方式传参方式打开新窗口

 

在使用winow.open打开新窗口时,因为是get方式传参,经常因为参数过长产生一些错误,考虑改用post传参来避免这一问题。
要改为post传参方式需要使用一个隐藏form来提交参数,但使用form的target新建窗口又不能自定义window样式。
google了下,可以在提交form的时候使用window.open新建一个空窗口,并将form的target设置为window的name,就能使form的新建的窗口内提交了。


function openPostWindow(url, args, name){
  var tempForm = document.createElement_x("form");
  tempForm.id="tempForm";
  tempForm.method="post";
  tempForm.action=url;
  tempForm.target=name;
  tempForm.style.display="none";
//可传入多个参数
  for(var i=0; i<args.length; i++){
    var hideInput = document.createElement_x("input");
    hideInput.type="hidden";
    hideInput.name=args[i][0];
    hideInput.value=args[i][1];
    tempForm.appendChild(hideInput); 
  }
  tempForm.attachEvent("onsubmit",function(){ window.open("about:blank",name,"directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no"); });
  document.body.appendChild(tempForm);
  tempForm.fireEvent("onsubmit");
  tempForm.submit();
  document.body.removeChild(tempForm);
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值