方法
/**
* window.open 打開窗口 并用post方式提交
* @param {Object} url
* @param {Object} data
* @param {Object} name
*/
openPostWindow(url, data, name){
// 創(chuàng)建 form 表單
let tempForm = document.createElement('form');
tempForm.id = 'tempForm';
tempForm.action = url;
tempForm.method = 'post';
// tempForm.enctype = 'multipart/form-data';
tempForm.target = name;
// 創(chuàng)建 用戶名輸入框
let userName = document.createElement('input');
userName.type = 'hidden';
userName.name = 'userName';
userName.value = data.userName;
// 創(chuàng)建 密碼輸入框
let passWord = document.createElement('input');
passWord.type = 'hidden';
passWord.name = 'passWord';
passWord.value = data.passWord;
// 將用戶名和密碼輸入框插入 form 表單
tempForm.appendChild(userName);
tempForm.appendChild(passWord);
// 將 form 表單插入 body
document.body.appendChild(tempForm);
// 增加提交監(jiān)聽 處理瀏覽器的兼容性
if (window.attachEvent) {
tempForm.attachEvent('onsubmit', () => { window.open(url, name); });
} else if (window.addEventListener) {
tempForm.addEventListener('onsubmit', () => { window.open(url, name); });
}
// 觸發(fā)監(jiān)聽 處理瀏覽器的兼容性
if(tempForm.fireEvent){
tempForm.fireEvent('onsubmit');
}else{
let evt = document.createEvent('HTMLEvents');
evt.initEvent('onsubmit', true, true);
tempForm.dispatchEvent(evt);
}
// form 表單提交事件
tempForm.submit();
// 從 body 中移除 form 表單
document.body.removeChild(tempForm);
}
調(diào)用
let params = {
userName: 'userName'
passWord: 'passWord'
}
this.openPostWindow('http://xxxx.yyyy.com/doorManagerLoginOA', params, '_blank');
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。