//自動獲取頁面控件值
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 ...
}
});
}
-----待續
form表单ajax提交 ac 請求Ajax 帶返回值的通用方法 自動獲取頁面控件值(form表單post方法提交 ) 自動給控件賦值...
如果觉得《form表单ajax提交 ac 請求Ajax 帶返回值的通用方法 自動獲取頁面控件值(fo》对你有帮助,请点赞、收藏,并留下你的观点哦!