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 相关文章推荐
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
Jun 28 Javascript
jquery下异步提交表单 异步跨域提交表单
Nov 17 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
Jul 17 Javascript
JavaScript实现打字效果的方法
Jul 10 Javascript
基于jquery实现的树形菜单效果代码
Sep 06 Javascript
详解AngularJS中的filter过滤器用法
Jan 04 Javascript
javascript每日必学之循环
Feb 19 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
Jun 08 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
Sep 20 Javascript
教你如何编写Vue.js的单元测试的方法
Oct 17 Javascript
vue 获取视频时长的实例代码
Aug 20 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
2020/03/02 星际争霸
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
javascript  Error 对象 错误处理
2008/05/18 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
js实现打字小游戏
2019/12/17 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
Vue实现简单的留言板
2020/10/23 Javascript
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
简单介绍Python中的RSS处理
2015/04/13 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
python怎么对数字进行过滤
2020/07/05 Python
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
造价工程师个人求职信
2013/09/21 职场文书
合作意向书范本
2014/03/31 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python