最近在做项目的时候,经常要提交表单数据,而且是采用ajax方式提交,如果每次都手动将表单数据存到变量去不太方便,而且工作量大,我就自己写了个js控件,当然这个js控件还是有点缺陷,需要过滤一些input类型为submit、reset等无用的数据。当然也不能算是缺陷,我们只需要在定义这些input标签的时候给他们添加个name属性就可以了。好了,废话不多说,见代码。
//获取表单数据
function getFormData(){
var inputArr = $('form input'); //input 数组
var data = {};
var selectArr = $('form select'); //select 数组
getObjectData(data,inputArr);
getObjectData(data,selectArr);
return data;
}
//数组数据转为对象数据
function getObjectData(_obj,_arr){
$.each(_arr,function(k,v){
var propertyName = $(v).attr('name'),propertyValue = $(v).val();
_obj[propertyName] = propertyValue;
});
return _obj;
}
我们在使用这个控件的时候,只需要调用getFormData()方法。如:var data = getFormData();