js模擬form表單提交數據, js模擬a標簽點擊跳轉,避開使用window.open引起來的瀏覽器阻止問題 ...
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