JavaScript动态生成Form提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | function post(url, params) { var tempForm = document.createElement( "form" ); tempForm.action = url; tempForm.method = "post" ; tempForm.style.display = "none" ; for ( var x in params) { var opt = document.createElement( "textarea" ); opt.name = x; opt.value = params[x]; // alert(opt.name) tempForm.appendChild(opt); } document.body.appendChild(tempForm); tempForm.submit(); return tempForm; } //调用方法 post( 'login.do' , {username : xxxx, password : yyyy}); function postParamAndOpenWindow(urlAndQuery){ // 分割url和请求参数 var pos = urlAndQuery.indexOf('?') var url = urlAndQuery.substring(0, pos); var query = urlAndQuery.substring(pos + 1); // 动态建立Form中的数据 var tempForm = document.getElementById('tmpForm'); tempForm.action = url; tempForm.method = "post" ; var pairs = query.split( "&" ); for ( var i = 0; i < pairs.length; i++) { var pos = pairs[i].indexOf( '=' ); if (pos == -1) continue ; var argname = pairs[i].substring(0, pos); var value = pairs[i].substring(pos + 1); var opt = document.createElement( "textarea" ); opt.name = argname; opt.value = value; tempForm.appendChild(opt); } tempForm.submitBtn.click(); return tempForm; } //在页面处<a href="#" onclick="postParamAndOpenWindow("http://www.xxx.com/login?username=xxx&password=yyy');"> |
项目中,我们一般都是写上隐藏的form标签,用<a href="#" οnclick="..."/>来调用js函数,给form中表单要提交的内容赋值,然后submit提交。如果页面没有隐藏的form,我们可以用JavaScript动态生成Form提交,或者只有一个隐藏form,动态生成要传递的参数。
————————————————
版权声明:本文为CSDN博主「iteye_16906」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iteye_16906/article/details/81890001
事常与愿违,事亦在人为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术