之前项目中使用的表单提交方式
使用form()方法可以将提交事件脱离submit按钮,绑定到任何事件中
复制代码 代码如下:
function addsubmit(){ 
$('#addform').form('submit', { 
url : _basepath + '/@controller/@requestmapping', 
onsubmit : function() { 
if(boolean){//放置能否提交的判断条件 
$.messager.show({ 
title:'提示',msg:'不符合保存条件', 
showtype:'fade',style:{right:'',bottom:''} 
}); 
return false;//阻止表单提交 
} 
return $('#addform').form('validate');//判断required项是否全部有值 
}, 
success : function(data) { 
var obj = jquery.parsejson(data);//将返回的json转化为所需对象(responsedata) 
if (!obj.success) {//判断返回的responsedata对象中标示状态的属性值 
$.messager.show({ 
title:'提示',msg:'保存失败', 
showtype:'fade',style:{right:'',bottom:''} 
}); 
} else { 
$.messager.show({ 
title:'提示',msg:'保存成功', 
showtype:'fade',style:{right:'',bottom:''} 
}); 
$(#addwin).window(close);//关闭提交pwkk 
query();//刷新结果集 
} 
} 
}); 
}
今天在《锋利的jquery》中又读到这样一种提交方式,使用ajax封装了表单内容用post提交 
复制代码 代码如下:
$(#btn).click(function() { 
$.get(get.php, {username:$(#username).val(), password:$(#password).val()}, function(data, textstatus) {//将表单中的数据逐条取出后封装上传 
$(#target).html(data);//将返回值填充至页面中 
}); 
});
而后有一个简化版,使用serialize()方法序列化 
复制代码 代码如下:
$(#btn).click(function() { 
$.get(get.php, $(#form).serialize(), function(data, textstatus) {//将表单中的数据逐条取出后封装上传 
$(#target).html(data);//将返回值填充至页面中 
}); 
});
serialize()方法可以自动编码,而且除表单之外的如checkbox等对象也可以使用其进行转换
同时还有serializearray()方法可以将元素序列化后返回数组形式的json对象,而非json字符串
即无需使用jquery.parsejson()方法进行转换
返回值可直接使用类似$.each()等方法进行操作使用
   
 
   