js获取form表单所有数据的简单方法


Posted in Javascript onAugust 18, 2016

在HTML中用js获取通过GET、POST方法(就是在网址后加?a=b&c=d之类)传过来的表单值。

针对大家常用的获取表单方式,很多时候都是在重复的写一些代码,今天给大家贴出来的代码可以作为公用方法直接调用。可以提高大家的开发效率。

Js代码

<script type="text/javascript"> 
 
//获取指定form中的所有的<input>对象  
function getElements(formId) {  
  var form = document.getElementById(formId);  
  var elements = new Array();  
  var tagElements = form.getElementsByTagName('input');  
  for (var j = 0; j < tagElements.length; j++){ 
     elements.push(tagElements[j]); 
 
  } 
  return elements;  
}  
 
//获取单个input中的【name,value】数组 
function inputSelector(element) {  
 if (element.checked)  
   return [element.name, element.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);  
  }  
  return false;  
}  
 
//组合URL 
function serializeElement(element) {  
  var method = element.tagName.toLowerCase();  
  var parameter = input(element);  
  
  if (parameter) {  
   var key = encodeURIComponent(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 + '=' + encodeURIComponent(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>

Js代码

function getFormInfo(){ 
  var params = serializeForm('login'); 
  alert(params); 
}

Html代码

<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>

html:

js获取form表单所有数据的简单方法

url:

js获取form表单所有数据的简单方法

以上这篇js获取form表单所有数据的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 强制弹出窗口代码研究-又一款代码
Mar 20 Javascript
本地对象Array的原型扩展实现代码
Dec 04 Javascript
range 标准化之获取
Aug 28 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 Javascript
28个常用JavaScript方法集锦
Jan 14 Javascript
Java File类的常用方法总结
Mar 18 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 Javascript
Bootstrap笔记之缩略图、警告框实例详解
Mar 09 Javascript
深入理解vue路由的使用
Mar 24 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
May 12 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
Oct 25 Javascript
小程序实现日历左右滑动效果
Oct 21 Javascript
Javascript中浏览器窗口的基本操作总结
Aug 18 #Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
Aug 18 #Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
Aug 18 #Javascript
jQuery fadeOut 异步实例代码详解
Aug 18 #Javascript
AngularJS 工作原理详解
Aug 18 #Javascript
js H5 canvas投篮小游戏
Aug 18 #Javascript
jQuery过滤选择器经典应用
Aug 18 #Javascript
You might like
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
php基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
jquery 实现两级导航菜单附效果图
2014/03/07 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
angular2中Http请求原理与用法详解
2018/01/11 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
Python pandas常用函数详解
2018/02/07 Python
python定向爬取淘宝商品价格
2018/02/27 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
appium+python adb常用命令分享
2020/03/06 Python
python实现在线翻译
2020/06/18 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
高三学生评语大全
2014/04/25 职场文书
试用期解除劳动合同通知书
2015/04/16 职场文书
国际贸易实训总结
2015/08/03 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
PHP实现rar解压读取扩展包小结
2021/06/03 PHP
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS