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对象与打印对象分析比较
Apr 23 Javascript
jquery设置元素的readonly和disabled的写法
Sep 22 Javascript
JavaScript将取代AppleScript?
Sep 18 Javascript
javascript框架设计读书笔记之模块加载系统
Dec 02 Javascript
PageSwitch插件实现100种不同图片切换效果
Jul 28 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
May 17 Javascript
JavaScript实现垂直滚动条效果
Jan 18 Javascript
从零开始做一个pagination分页组件
Mar 15 Javascript
基于node.js express mvc轻量级框架实践
Sep 14 Javascript
基于webpack 实用配置方法总结
Sep 28 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
Sep 15 Javascript
解决layui laydate 时间控件一闪而过的问题
Sep 28 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
PHP+javascript模拟Matrix画面
2006/10/09 PHP
PHP新手上路(三)
2006/10/09 PHP
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
自己的js工具 Cookie 封装
2009/08/21 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
基于Vue中的父子传值问题解决
2020/07/27 Javascript
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
python实现括号匹配的思路详解
2018/08/23 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
keras slice layer 层实现方式
2020/06/11 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
linux下进程间通信的方式
2013/01/23 面试题
UNIX特点都有哪些
2016/04/05 面试题
节约用电标语
2014/06/17 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
mysql全面解析json/数组
2022/07/07 MySQL