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新闻滚动 js如何实现新闻滚动效果
Jan 07 Javascript
jquery live()重复绑定的解决方法介绍
Jan 03 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
Apr 30 Javascript
轮播图组件js代码
Aug 08 Javascript
ECMAScript6轮播图实践知识总结
Aug 17 Javascript
浅析JavaScript中break、continue和return的区别
Nov 30 Javascript
js实现3D图片展示效果
Mar 09 Javascript
详解vue-cli 脚手架项目-package.json
Jul 04 Javascript
剖析Angular Component的源码示例
Mar 23 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
Jan 30 Javascript
微信小程序实现点击效果
Jun 21 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
Aug 03 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
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
php微信公众号开发之简答题
2018/10/20 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
jQuery 注意事项 与原因分析
2009/04/24 Javascript
JS 图片缩放效果代码
2010/06/09 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
JS实现前端页面的搜索功能
2018/06/12 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
Python断言assert的用法代码解析
2018/02/03 Python
Python中logging实例讲解
2019/01/17 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
Java基础面试题
2012/11/02 面试题
世界读书日的活动方案
2014/08/20 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
三年级学生评语大全
2014/12/26 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
导游词之无锡梅园
2019/11/28 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL