[size=large]我有一个DWR方法,参数是一个对象,我如何用jquery把一个form表单里面的值提取出来封装成这个对象,然后传给DWR方法呢
[/size]
先写一个jquery插件:
(function($) {
//将表单数据封装成对象,各个控件的name为属性名,value为属性值
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
})(jQuery);
$('#yourFormId').submit(function() {
var obj = $(this).serializeObject();
// 用dwr将该对象传给后台
return false;
});
还有一个方式就是你把表单数据封装成JSON对象,如{"userId":"123","userName":"name1"},这种数据格式,然后在后台可以利用JsonObject,轻松取出数据,封装成你的后台对象即可使用。。