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+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
Mar 10 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
Jan 08 Javascript
js禁止document element对象选中文本实现代码
Mar 21 Javascript
swtich/if...else的替代语句
Aug 16 Javascript
JavaScript解八皇后问题的方法总结
Jun 12 Javascript
js中获取jsp表单中radio类型的值简单实例
Aug 15 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
详解创建自定义的Angular Schematics
Jun 06 Javascript
VuePress 快速踩坑小结
Feb 14 Javascript
微信小程序拖拽排序列表的示例代码
Jul 08 Javascript
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
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
打造计数器DIY三步曲(上)
2006/10/09 PHP
给初学PHP的5个入手程序
2006/11/23 PHP
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
不同浏览器的怪癖小结
2010/07/11 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
jquery实现手风琴效果实例代码
2013/11/15 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
js实现随机点名程序
2020/09/17 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
Python正则表达式匹配ip地址实例
2014/10/09 Python
实例Python处理XML文件的方法
2015/08/31 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
安全协议书范本
2014/04/21 职场文书
任命书怎么写
2014/06/04 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers