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 09 Javascript
javascript 获取页面的高度及滚动条的位置的代码
May 06 Javascript
jQuery实现切换页面布局使用介绍
Oct 09 Javascript
深入浅析JavaScript中数据共享和数据传递
Apr 25 Javascript
基于bootstrap实现广告轮播带图片和文字效果
Jul 22 Javascript
jQuery实现产品对比功能附源码下载
Aug 09 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
Aug 10 Javascript
详解Js模板引擎(TrimPath)
Nov 22 Javascript
详解Angular的数据显示优化处理
Dec 26 Javascript
JavaScript实现前端实时搜索功能
Mar 26 Javascript
vue 实现v-for循环回来的数据动态绑定id
Nov 07 Javascript
Vue3中的Refs和Ref详情
Nov 11 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
PHP遍历数组的几种方法
2012/03/22 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
使用python分析git log日志示例
2014/02/27 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
浅谈django的render函数的参数问题
2018/10/16 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
Python turtle绘画象棋棋盘
2019/08/21 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
python集合的新增元素方法整理
2020/12/07 Python
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
大型活动策划方案
2014/01/12 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
升国旗仪式主持词
2014/03/19 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
自主招生自荐信格式
2015/03/04 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
数据库之SQL技巧整理案例
2021/07/07 SQL Server