以下代码可放在一个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. Linux 使用nmcli配置网络

    Linux 使用nmcli配置网络 前提: 在虚拟机中添加一张桥接模式的网卡,如果是VirtualBox虚拟机中要shutdown才能添加. 1.启动NetworkManager工具,安装nmcli命 ...

  2. 20. Valid Parentheses (JAVA)

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...

  3. linux下查看动态链接库so文件的依赖的相关组建

    我们很多c程序在windows下是以dll形式展现的,在linux则是以so 形式展现的. windows一般不会因为编译dll文件的编译器版本不同而出先dll文件不能执行. 但是linux下,不同版 ...

  4. Swift UITableView嵌套UICollectionView点击事件冲突(点击事件穿透)

    不管是啥都响应tableviewcell class JYShopCertificationCell: UITableViewCell { override func hitTest(_ point: ...

  5. Linux驱动之平台设备驱动模型简析(驱动分离分层概念的建立)

    Linux设备模型的目的:为内核建立一个统一的设备模型,从而有一个对系统结构的一般性抽象描述.换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要 ...

  6. selenium启动谷歌浏览器

    谷歌浏览器可以是任意版本. 根据谷歌浏览器的版本,下载响应的浏览器驱动(百度:谷歌驱动与谷歌浏览器版本映射表). 我用的是win7 ,下载win32就行了.下载解压之后可以放在python的安装目录下 ...

  7. boost中bind的使用

    :first-child { margin-top: 0px; } .markdown-preview:not([data-use-github-style]) h1, .markdown-previ ...

  8. h5页面转图片长按保存

    5页面经常会遇到此类需求.将最后的结果页转换为图片长按保存.下面介绍一下实现此需求的过程 1,依赖安装 cnpm install html2canvas --save 2,依赖引入,使用 绑定 初始化 ...

  9. idea出现找不到实体类

    今天经理遇到一个很奇怪的问题: 在使用idea时,就是包真实存在,但是包中的实体类却无法智能提示,也无法导入成功: 我推荐的解决办法是重新导入,但是没有用,经理在网上找了很多解决方式,依然无效: 最后 ...

  10. Windows Server 2012 配置远程桌面帐户允许多用户同时登录

    网上找了很多关于设置远程桌面最大连接数的文章,大都是说先要到控制面板的管理工具中设置远程桌面会话主机等,大体和我之前的文章<设置WINDOWS SERVER 2008修改远程桌面连接数>里 ...