js获取form表单所有数据
代码如下:
<script type="text/javascript"> // 获取指定form中的所有的<input><select>对象 function getElements(formId) { var form = document.getElementById(formId); if(form == null){ return false; } var elements = new Array(); var inputTagElements = form.getElementsByTagName('input'); for (var j = 0; j < inputTagElements.length; j++) { elements.push(inputTagElements[j]); } var selectTagElements = form.getElementsByTagName('select'); for (var j = 0; j < selectTagElements.length; j++) { elements.push(selectTagElements[j]); } return elements; } // 获取单个input中的【name,value】数组 function inputSelector(element) { if (element.checked) return [ element.name, element.value ]; } function selectOne(element){ var value = $(element).find("option:selected").val(); if(value != ""){ var name = $(element).attr("name"); return [name, value ]; } } function input(element) { switch (element.type.toLowerCase()) { case 'submit': case 'hidden': case 'password': case 'text': return [ element.name, element.value ]; case 'checkbox': case 'radio': return inputSelector(element); case 'select-one': return selectOne(element); } return false; } // 组合URL function serializeElement(element) { var method = element.tagName.toLowerCase(); var parameter = input(element); if (parameter) { var key = parameter[0]; if (key.length == 0) return; if (parameter[1].constructor != Array) parameter[1] = [ parameter[1] ]; var values = parameter[1]; var results = []; for (var i = 0; i < values.length; i++) { results.push(key + '=' + values[i]); } return results.join('&'); } } // 调用方法 function serializeForm(formId) { var elements = getElements(formId); var queryComponents = new Array(); for (var i = 0; i < elements.length; i++) { var queryComponent = serializeElement(elements[i]); if (queryComponent) queryComponents.push(queryComponent); } return queryComponents.join('&'); } </script>
<body> <form id="login" name="login" method="post" action="result.jsp"> <input name="user" type="text"/> <input name="sex" type="radio" value="man"/> <input name="sex" type="radio" value="woman"/> interest:<input type="checkbox" name="interest" value="piu">PIU <input type="checkbox" name="interest" value="dss">DSS <input type="checkbox" name="interest" value="ddr">DDR<br> <input type="hidden" name="from" value="welcome"><br> <input type="button" name="submit" value="submit" onclick="getFormInfo();"> </form> </body> function getFormInfo(){ var params = serializeForm('login'); alert(params); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2016-12-09 js设置全局变量ajax中赋值
2016-12-09 spring多个数据源配置
2016-12-09 JS学习之动态加载script和style样式
2016-12-09 Springmvc默认首页的问题
2016-12-09 BigDecimal加减乘除运算
2016-12-09 js操作select和option
2016-12-09 js屏蔽浏览器右键菜单