以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    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);
}

 

你可能感兴趣的:(C#)