//自動獲取頁面控件值

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方法提交 ),自動給控件賦值...相关推荐

  1. 【数据结构 C描述】有两个整数集合 A 和 B 分别用两个线性表 LA 和 LB 表示,求:一个新的集合A=A∪B,A仍然为纯集合,线性表采用链式存储方式。【单链表】

    这是我的作业题,作业写完后再附到博客中,可能代码写得很烂.虽然是C语言写的,但是我在其中加入了C++的写法,例如cout.我懒得写printf的格式控制符,所以用cout来输出内容,这样我感觉简便多了 ...

  2. android表单错误提示,安卓微信中用$.ajax提交表单一直返回error

    在其他手机浏览器和iphone的微信中都没问题,只有在安卓的微信中会返回error,XMLHttpRequest.status 为 200, XMLHttpRequest.readyState 为 4 ...

  3. ajax 模拟表单提交,Ajax模拟Form表单提交,含多种数据上传

    ---恢复内容开始--- Ajax提交表单.使用FormData提交表单数据和上传的文件(这里的后台使用C#获取,你可以使用Java一样获取) 有时候前台的数据提交到后台,不想使用form表单上传,希 ...

  4. Ajax(jQuery封装),表单form提交(Ajax),art-template模板引擎,原生Ajax,XML和JSON,axios,跨域和JSONP,防抖和节流,HTTP协议

    目录 服务器基本概念 1.URL 2.URL地址的组成部分 3. 图解客户端与服务器的通信过程 4.网页中如何请求数据 5.资源的请求方式 Ajax jQuery中的Ajax 1. $.get()函数 ...

  5. ajax 表单提交传文件,Ajax提交Form表单及文件上传

    刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...

  6. Ajax提交form表单数据

    文章目录 前言 一.form表单介绍 1.什么是表单 2.表单form的组成部分 3.表单form的属性 4.表单的同步提交 二.Ajax 提交表单数据 1.监听表单的提交事件 2.阻止表单的默认提交 ...

  7. ajax提交form表单方法

    ajax提交form表单方法 由 driventokill 创建,Alma 最后一次修改 2018-04-23 15:46:20 ajax提交form表单,这在日常项目中是经常用到的.前台无论是简单的 ...

  8. ajax 提交 form表单 ,后台执行两次的问题

    //前台代码 //#contact-form 表单ID$(function () {$("#contact-form").submit(function () {$.ajax({t ...

  9. 将form表单提交文件修改为ajax提交

    好久没有记录工作中的出现的问题了,不过最近客户提出了新的需求,正好弥补了一下我的短板,学到了新的知识. 周一接到客户电话,要求完善上周写的某个功能--就是同时上传多个图片,并通过接口程序传到第三方系统 ...

最新文章

  1. 【蓝桥java】递归基础之输出连续数字
  2. 项目中常用的19条MySQL优化
  3. 采购交货期延误的原因分析
  4. 自定义注解 实现自定义消息_实现自定义的未来
  5. MaxCompute规格详解 让您花更低的成本获得更高的业务价值
  6. rj45管脚定义_rj45接口定义,rj45插座引脚定义
  7. 使用Apache + knewcode,用传统C++构建Web网站
  8. java笔试题算法题,吐血整理
  9. java简单的学生管理系统界面_java 学生信息管理系统(图形界面)
  10. cocos2d-x太空大战小游戏
  11. 【VBA】Excel拆分表格,并且复制格式
  12. 苹果处理器排行_最新 iOS 性能排行榜,你的设备落伍了吗?
  13. house robbers
  14. EMV技术学习和研究(一)开篇
  15. conda创建环境报错conda.core.subdir_data.Response304ContentUnchanged
  16. 【超级视客营】基于超算平台的MMYOLO实践过程记录(自定义数据集实现YOLO v5)
  17. Python利用requests抓取页面源代码(基础)
  18. 3、PIC Harmony组件安装、工程创建及烧录
  19. 纳兰容若与仓央嘉措的邂逅
  20. JavaSE(字符流、IO资源的处理、属性集、ResourceBundle工具类、缓冲流、转换流、序列化、打印流、装饰设计模式、commons-io工具包)

热门文章

  1. dataframe 如何选中某列的一行_PySpark和SparkSQL基础:如何利用Python编程执行Spark(附代码)
  2. 软件设计师 - 软件工程
  3. 原来记录系统日志那么简单【Java】【SpringBoot】【Mybatis Plus】【AspcetJ】
  4. android api接口文档,API 接口文档
  5. java垃圾回收 分代_Java分代垃圾回收策略原理详解
  6. IOS – OpenGL ES 调节图像色度 GPUImageHueFilter
  7. 企业开发需要的git提交和拉取代码(本地仓库和github演示)
  8. 宝塔php安装那个合_使用宝塔面板安装nextcloud | 启用本地存储 | 安装smbclient
  9. android 字体像素转换工具类_android工具类,转换大小写,保留小数点处理方法
  10. 不冲突的端口范围_网络中IP地址发生冲突故障怎么办