//自动获取页面控件值
function GetWebControls(element) {
var reVal = "";
$(element).find('input,select,textarea').each(function (r) {
var id = $(this).attr('id');
var value = $(this).val();
var type = $(this).attr('type');
switch (type) {
case "checkbox":
if ($(this).is(':checked')) {
reVal += '"' + id + '"' + ':' + '"1",';
} else {
reVal += '"' + id + '"' + ':' + '"0",';
}
break;
default:
reVal += '"' + id + '"' + ':' + '"' + $.trim(value) + '",';
break;
}
});
/*
将回车字符替换成\\n
*/
reVal = reVal.replace(/\n/g, " ");
reVal = reVal.substr(0, reVal.length - 1);
return jQuery.parseJSON('{' + reVal + '}');
}
//自动给控件赋值
function SetWebControls(data) {
for (var key in data) {
var id = $('#' + key);
var value = $.trim(data[key]).replace(" ", "");
var type = id.attr('type');
switch (type) {
case "checkbox":
if (value == 1) {
id.attr("checked", 'checked');
} else {
id.removeAttr("checked");
}
break;
default:
id.val(value);
break;
}
}
}
/* 请求Ajax 带返回值*/
function postAjax(url, parm, callBack) {
$.ajax({
type: 'post',
contentType: 'application/json',
dataType: 'json',
url: url,
data: JSON.stringify(parm),
cache: false,
async: false,
success: function (msg) {
callBack(msg);
}
});
}
========================分割线 以上是js通用方法,以下是调用==========================
//添加
function add() {
var postData = GetWebControls("#fm"); // 获取post方法from表单的内容
postAjax("../url", postData, function (data) { // url:后台控制器的url postData:需要提交json格式的参数 可为null 或者自定义 var postData = { "id": id };
if (data != null && data != "") {
alert(data);
}
else {
// doing something...
}
});
}
//更新
function updateData(id) {
var postData = { "id": id };
postAjax("../url", postData, function (data) {
var results = eval(data);
var result = results[0];
if (result != null && result != "") {
SetWebControls(result); // 自动给控件赋值
}
else {
//doing something ...
}
});
}
-----待续