jQuery自定义插件之获取form表单数据
更多jQuery常用插件使用请访问:
jQuery自定义插件之获取form表单数据是网页中最常见不过的插件了,所以写一个自用的插件,偷懒一下。
上源码,想用的直接复制走,保存在一个js文件即可使用。
效果插件源码
/*
* @Author: JiaoShou
* @Date: 2020-07-09 16:46:11
* @Last Modified by: JiaoShou
* @Last Modified time: 2020-07-09 16:46:11
*/
;(function(window,$,undefined){
$.fn.extend({
/**
* 获取表单数据
* 可通过设置相同发class名称,使用此封装方法,批量获取form表单里面的值
* 表单元素必须要有name属性,name属性是向后端提交的字段数据。
* @param {object} option 可选参数,暂无使用
*/
'getparameter': function(option){
var defaults = {
},
result = {}, //返回结果对象形式
opts = $.extend({}, defaults, option);
this.each(function (index, item) {
var getparameter = {
$el: $(this), //当前循环对象
$item: item, //当前循环对象
defaults: defaults, //插件默认值
result: result,
// 初始化
'init': function(){
// 调用判断类型方法
this.itemType();
},
// 判断类型
'itemType':function(){
var _this = this;
switch (this.$el[0].type) {
case 'text':
case 'password':
case 'select-one':
case 'tel':
case 'search':
case 'range':
case 'number':
case 'month':
case 'email':
case 'datetime-local':
case 'datetime':
case 'date':
case 'color':
_this.result[_this.$el.attr('name')] = $.trim(_this.$el.val());
break;
case 'checkbox':
// 获取到复选框选中的元素
var checkboxEl=$("input[name="+_this.$el.attr('name')+"]:checked");
if(checkboxEl){
var checkboxArr=[];
var strVal = '';
// 取出复选框选中的值
checkboxEl.each(function(idx,itm){
checkboxArr.push($(itm).val());
});
_this.result[_this.$el.attr('name')] = checkboxArr.join(',');
}
break;
case 'radio':
// 获取到单选框选中的值,碰到radio直接获取val即可
var radio_val=$("input[name="+_this.$el.attr('name')+"]:checked").val();
if(radio_val){
_this.result[_this.$el.attr('name')] = radio_val;
}
break;
default:
break;
}
}
};
// 初始化插件
getparameter.init();
});
return result;
}
});
})(window,jQuery);
案例html布局
较瘦 - 博客园
下拉框
输入框
密码框
单选框
单选1
单选2
单选3
复选框
复选框1
复选框2
复选框3
search
插件使用方法
在页面中引入jquery和jquery.getparameter.js文件(根据项目目录引入必要文件)。
HTML结构
没有特殊结构,可以获取到元素即可。
初始化插件
在页面DOM元素加载完毕之后,通过getparameter()方法来初始化该插件。
$(function(){
// 调用方法
$("#save").click(function(){
var parameter=$(".query").getparameter();
console.log(parameter);
});
});
插件配置参数
暂无特殊参数