jquery实现ajax提交表单信息的简单方法(推荐)
最近在思考优化项目,想自己扩展一个jquery自动获取表单中的数据进行ajax提交。本人没有完整性学习jquery,基本上是现学现找,有点困难。
主要是扩展和拼接json转对象
很简单,附上代码:
;(function($){
$.fn.ajaxForm=function(options){
vardefaults={
modelname:'model',//后台对象接收名称
url:'/',//提交地址
postType:'POST',//提交方式
dataType:'JSON',//数据返回类型
async:false,//是否异步
optionObj:[],//自定义参数
callback:function(){},//成功回调
};
varoptions=$.extend(defaults,options);//合并参数
if(options.url==''){
alert('请填写提交地址');
return;
}
varpostvals={};
//textbox/隐藏域/textarea/radio选中值
$(this).find('input[type="text"],input[type="hidden"],textarea,input[type="radio"]:checked').each(function(){
if($(this).val()!=undefined){
varname=$(this).attr('name');
if(name==undefined||name==''){
returnfalse;
}
varvalue=$(this).val();
varjson='{"'+name+'":"'+value+'"}';
varobj=$.parseJSON(json);
postvals=$.extend(postvals,obj);
}
});
varresObj;
if(options.optionObj!=undefined||options.optionObj!=[]){
resObj=$.extend(postvals,options.optionObj);
}else{
resObj=postvals;
}
$.ajax({
type:options.postType,
dataType:options.dataType,
data:resObj,
async:options.async,
url:options.url,
success:function(json){
if(json.IsError){
alert(json.Message);
}else{
options.callback();
}
}
});
};
})(jQuery);
使用的话配合jqueryvalidate使用
$("#system-form").validate({
rules:{
SystemName:{
required:true
},
Description:{
required:true,
},
},
messages:{
SystemName:{
required:"请填写系统名称"
},
Description:{
required:"请填写系统描述"
}
},
submitHandler:function(form){
varurl='/oa/system/'+$(form).attr('ftype');
$(form).ajaxForm({url:url,modelname:'system',callback:function(){
location.href='/oa/system/index.html';
}});
}
});
以上这篇jquery实现ajax提交表单信息的简单方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。