当前位置: 移动技术网 > IT编程>开发语言>JavaScript > [原创]JS获取form表单数据

[原创]JS获取form表单数据

2018年09月13日  | 移动技术网IT编程  | 我要评论

以下代码可放在一个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);
// }
// }
// }
//}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网