window.open() post请求传参数

  • Post author:
  • Post category:其他


windowOpen.js插件

jQuery.fn.openWindow = function (urlParam, type){
		//获取url
		var url=urlParam.slice(0,urlParam.indexOf('?') );
		//获取参数
		var param = urlParam.slice(urlParam.indexOf('?') + 1).split('&');
		//创建form表单
		var tempForm = document.createElement("form");
	    tempForm.id = "tempForm1";
	    tempForm.method = "post";
	    tempForm.action = url;
	    tempForm.target = type;    // _blank - URL加载到一个新的窗口
	   
		//循环参数创建input
	    var hash;
	    for (var i = 0; i < param.length; i++) {
	        hash = param[i].split('=');
	        var hideInput = document.createElement("input");
	        hideInput.type = "hidden";
	        hideInput.name = hash[0];
	        hideInput.value = hash[1];
	        tempForm.appendChild(hideInput);
	    }
	    if(document.all){    // 兼容不同浏览器
	        tempForm.attachEvent("onsubmit",function(){});        //IE
	    }else{
	        tempForm.addEventListener("submit",function(){},false);    //firefox
	    }
	    document.body.appendChild(tempForm);
	    if(document.all){    // 兼容不同浏览器
	        tempForm.fireEvent("onsubmit");
	    }else{
	        tempForm.dispatchEvent(new Event("submit"));
	    }
	    tempForm.submit();
	    document.body.removeChild(tempForm);
	}

使用方法

//仍然使用url传参的形式,实际使用post传参数
//实际浏览器的地址为www.baidu.com
var url='www.baidu.com?projectId=1&stage=2'
//第二个参数:
//_blank - URL加载到一个新的窗口。这是默认
//_parent - URL加载到父框架
//_self - URL替换当前页面
//_top - URL替换任何可加载的框架集
$().openWindow(url,"_self");



版权声明:本文为weixin_40010498原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。