js模擬form表單提交數據, js模擬a標簽點擊跳轉,避開使用window.open引起來的瀏覽器阻止問題
js模擬form表單提交數據源碼:
/**
* js模擬form表單提交
* @param {object} 參數對象
* url 必填 提交地址
* methond 選填 默認post 提交方式 post get
* target 選填 默認_self 當前頁面還是新頁面 _self _blank
* 其它參數
*/
function jsFormSubmit(params) {
var turnForm = document.createElement("form");
//一定要加入到body中!!
document.body.appendChild(turnForm);
var method = params['methond'] || "POST"; //默認為post
turnForm.method = method;
delete params['methond'];
var target = params['target'] || "_self"; //默認為當前頁面
turnForm.target = target;
delete params['target'];
var url = params.url; //提交地址
turnForm.action = url;
delete params['url'];
//創建隱藏表單
for(var item in params){
var newElement = document.createElement("input");
newElement.setAttribute("type","hidden");
newElement.setAttribute("name",item);
newElement.setAttribute("value",params[item]);
turnForm.appendChild(newElement);
}
turnForm.submit();
}
js模擬form表單提交使用示例:
var params = {
//必填參數
"url":url,
"methond":"post",
"target":"_blank",
//下邊為要提交的數據
"j_username":"SYNKMXS0000000043",
"j_password":"3258"
}
formSubmit(params);
js模擬a點擊源碼:
/**
* js模擬a點擊
* @param {string} url 必填 提交地址
* @param {string} target 選填 默認_self 當前頁面還是新頁面 _self _blank
*/
function jsALink(url,target) {
var target = target || "_blank";
//先讀取alink 不存在則創建
var alink = document.getElementById("alink");
if(alink==undefined) alink=document.createElement("a");
//賦值
alink.id = "alink";
alink.href = url;
alink.target = target;
alink.style = "display: none;";
//寫入頁面
document.body.appendChild(alink);
//執行點擊事件
document.getElementById("alink").click();
}
js模擬a點擊示例:
jsALink("http://www.jsfun.cn","_blank");
來源:jsfun.cn
