以下代码可放在一个js文件中,以便通用:

 //获取指定表单中指定标签对象
function getElements(formId, label) {
var form = document.getElementById(formId);/* 获取表单引用(对象) */
var elements = [];
var tagElements = form.getElementsByTagName(label);/* 获取表单中指定标签名的元素引用(对象)数组 */
for (var j = 0; j < tagElements.length; j++) {
elements.push(tagElements[j]);
}
return elements;
}
// ----注:tagElements[j].name这种写法并不能确定该对象是哪一种类型的标签,如果是单复选按钮标签,则需要判断是否被选中的情况,所以要写一个方法过滤一下:
// 根据标签type获取标签name,value(过滤)
function typeFilter(element) {
var label = [];
switch (element.type.toLowerCase()) { /* 表单元素引用数组.元素类型.字符串转小写 */
case 'submit':
case 'hidden':
case 'password':
case 'text':
label.push({
name : element.name,/* 自定义的列名:列值 */
value : element.value
});
return label;
case 'checkbox':
case 'radio':
if (element.checked)
label.push({
name : element.name,/* 自定义的列名:列值 */
value : element.value
});
return label;
}
return false;
}
//---注:case项可自定义,比如去掉 case 'submit'这种没意义的可能。 // 获取指定表单的指定标签的name和value,并存到一个数组里,形参label可传入'*',表示全部标签
function get_form_label_name_value(formId, label) {
var elements = getElements(formId, label);
var group = [];
var one = [];
for (var i = 0; i < elements.length; i++) {
one = typeFilter(elements[i]);
group.push({
name : one[0].name,/* 自定义的列名:列值 */
value : one[0].value
});
}
return group;
} //----------------------------------------------------------------------------------- //前台调用例子:
//function show() {
// var NV = get_form_label_name_value('表单id','标签如input');
// if (NV != null && NV.length > 0) {
// for (var i = 0; i < NV.length; i++) {
// if (NV[i].name != "") { /*这个if不加也可以,但是为了避免特殊情况,加上反而更有利于之后存入数据库等操作*/
// alert(NV[i].name);
// alert(NV[i].value);
// }
// }
// }
//}

JS获取form表单数据的更多相关文章

  1. 3..jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

  2. html基础:jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

  3. JS 获取form表单的所有数据

    在HTML中用js获取通过GET.POST方法(就是在网址后加?a=b&c=d之类)传过来的表单值. 针对大家常用的获取表单方式,很多时候都是在重复的写一些代码,今天给大家贴出来的代码可以作为 ...

  4. JS获取form表单所有属性值

    // 得到一个表单里的全部信息function getFormQueryString() { var frmID=document.forms[0]; var i,queryString=" ...

  5. js获取form表单所有数据

    代码如下: <script type="text/javascript"> // 获取指定form中的所有的<input><select>对象 ...

  6. JS获取form表单的所有输入值

    function getFormQueryString(frmID) { var frmID=document.getElementById(frmID); var i,queryString = & ...

  7. 【MVC】使用FormCollection获取Form表单数据

    public ActionResult Create(FormCollection form) { string name = form["name"]; //姓名 string ...

  8. 获取form表单数据

    var modelObj = {}; var modelFieldsArray = $('#AddMusic').serializeArray(); $.each(modelFieldsArray, ...

  9. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...

随机推荐

  1. py_innodb_page_info

    python py_innodb_page_info.py -v /usr/local/var/mysql/ibdata1 mylib.py #encoding=utf-8 import os imp ...

  2. Unity2018.3全新Prefab预制件系统深入介绍视频教程+PPT+Demo源码

    Unity在2018.3推出了重新设计的Prefab预制件系统.这一全新的设计终于为一个长达十年的问题画上了完美的句号, 这个问题就是:“什么时候Unity可以提供嵌套式的预制件系统,俗称Nested ...

  3. 解决了好几天的关于django xadmin后台增加链接并执行函数的问题

    由于xadmin后台封装的完整性,想要在后台做一些改动对于新手来说还是有点困难,目前解决的第一个问题: 在admin后台增加链接,使其改变上级签收状态 如图 点击签收按钮之后,改变其状态 代码展示: ...

  4. git master 回滚代码

    回退到指定版本 f6a3d430 (为commit id 前8位) git reset --hard f6a3d430 强制推送到远程分支 git push origin HEAD --force 但 ...

  5. C# DataTable抽取Distinct数据(不重复数据)[z]

    DataTable dataTable;       DataView dataView = dataTable.DefaultView;       DataTable dataTableDisti ...

  6. CentOS7 修改静态IP地址

    Ip配置文件在/etc/sysconfig/network-scripts文件夹下,查找该文件的方法为: [root@localhost ~]# ll /etc/sysconfig/network-s ...

  7. linux下搭建Jenkins环境

    前提:Tomcat.jdk已安装并配置成功,具体安装和配置可参考我的其他随笔,在此不再详述 1.官网下载Jenkins最新war包,jenkins.war 2.进入Tomcat安装目录,创建Jenki ...

  8. buffer IO和direct IO

    最近在看很多框架,redis,kafka等底层都涉及到文件IO操作的效率问题,所以查了些资料,看到这篇文章讲的比较明白些,贴出来留存. 链接地址: https://www.ibm.com/develo ...

  9. 从mysql主从复制到微信开源的phxsql

    严格的来说,微信开源的phxsql不是数据库,而是一个数据库的插件: 传统的互联网数据库结构一般是这样的: 服务访问数据库是通过分片来的: 除了这种基于hash的分片,还有一种基于range的分片方式 ...

  10. PowerDesigner code、name显示设置 及 同时显示办法

    菜单->Tool->Model Options->Name Convention->右侧display中选择显示name还是code. 不支持同时显示,但可以选择显示code, ...