/**
 * 第一种Ajax提交方式
 * 这种方式需要直接使用ext Ajax方法进行提交
 * 使用这种方式,需要将待传递的参数进行封装
 * @return
 */
function saveUser_ajaxSubmit1() {
 Ext.Ajax.request( {
  url : 'user_save.action',
  method : 'post',
  params : {
   userName : document.getElementById('userName').value,
   password : document.getElementById('password').value
  },
  success : function(response, options) {
   var o = Ext.util.JSON.decode(response.responseText);
   alert(o.msg);
  },
  failure : function() {
  }
 });
}
/**
 * 第二种Ajax提交方式
 * 这种方式将为ext的ajax指定一个html表单
 * 使用这种方式,不需要将待传递的参数进行封装
 * 
 * @return
 */
function saveUser_ajaxSubmit2() {
 Ext.Ajax.request( {
  url : 'user_save.action',
  method : 'post',
  form : 'userForm', // 指定表单
  success : function(response, options) {
   var o = Ext.util.JSON.decode(response.responseText);
   alert(o.msg);
  },
  failure : function() {
  }
 });
}
/**
 * 第三种Ajax提交方式
 * 这种方式将为ext的自己的表单进行提交
 * 使用这种方式,需要使用ext自己的textField组件
 * 
 * @return
 */
function saveUser_ajaxSubmit3() {
 // 定义表单
 var formPanel = new Ext.FormPanel( {
  labelWidth : 75,
  frame : true,
  bodyStyle : 'padding:5px 5px 0',
  width : 350,
  defaults : {
   width : 230
  },
  defaultType : 'textfield',
  items : [ {
   fieldLabel : '用户名',
   name : 'userName',
   allowBlank : false
  }, {
   fieldLabel : '密   码',
   name : 'password'
  } ]
 });
 // 定义窗口
 var win = new Ext.Window( {
  title : '添加用户',
  layout : 'fit',
  width : 500,
  height : 300,
  closeAction : 'close',
  closable : false,
  plain : true,
  items : formPanel,
  buttons : [ {
   text : '确定',
   handler : function() {
    var form = formPanel.getForm();
    var userName = form.findField('userName').getValue().trim();
    var password = form.findField('password').getValue().trim();
    if (!userName) {
     alert('用户名不能为空');
     return;
    }
    if (!password) {
     alert('密码不能为空');
     return;
    }
    form.submit( {
     waitTitle : '请稍后...',
     waitMsg : '正在保存用户信息,请稍后...',
     url : 'user_save.action',
     method : 'post',
     success : function(form, action) {
      alert(action.result.msg);
     },
     failure : function(form, action) {
      alert(action.result.msg);
     }
    });
   }
  }, {
   text : '取消',
   handler : function() {
    win.close();
   }
  } ]
 });
 win.show();
}
/**
 * 第四种Ajax提交方式
 * 这种方式将html的表单转化为ext的表单进行异步提交
 * 使用这种方式,需要定义好html的表单
 * 
 * @return
 */
function saveUser_ajaxSubmit4() {
 new Ext.form.BasicForm('userForm').submit( {
  waitTitle : '请稍后...',
  waitMsg : '正在保存用户信息,请稍后...',
  url : 'user_save.action',
  method : 'post',
  success : function(form, action) {
   alert(action.result.msg);
  },
  failure : function(form, action) {
   alert(action.result.msg);
  }
 });
}

extJs常用的四种Ajax异步提交的更多相关文章

  1. ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码

    首先提出一个问题:在做网站开发的时候,用到了验证码来防止恶意提交表单,那么要如何实现当验证码错误时,只是刷新一下验证码,而其它填写的信息不改变? 先说一下为什么有这个需求:以提交注册信息页面为例,一般 ...

  2. Java中常用的四种线程池

    在Java中使用线程池,可以用ThreadPoolExecutor的构造函数直接创建出线程池实例,如何使用参见之前的文章Java线程池构造参数详解.不过,在Executors类中,为我们提供了常用线程 ...

  3. iOS中常用的四种数据持久化方法简介

    iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...

  4. AJAX异步提交,浏览器总跳出下载界面

    问题: 我在写一个网页的“用户登录”部分时,要将用户名和密码传到后端验证,想在前端用了AJAX异步提交功能,将 用户名密码传到后端,然后后端返回验证结果.但AJAX写好后每次刷新网页都会跳出下载窗口, ...

  5. php表单提交 图片、音乐、视频、文字,四种类型共同提交到数据库

    这个问题一直困扰了我好几天,终于在今天让我给解决了,难以掩饰的激动. 其实在之前没有接触到这种问题,只是表单提交数据而已,再就是图片,四种类型同时提交还真是没遇到过,做了一个系统,其中有一个功能就是提 ...

  6. jQuery选取所有复选框被选中的值并用Ajax异步提交数据

    昨天和朋友做一个后台管理系统项目的时候涉及到复选框批量操作,如果用submit表单提交挺方便的,但是要实现用jQuery结合Ajax异步提交数据就有点麻烦了,因为我之前做过的项目中基本上没用Ajax来 ...

  7. Ajax异步提交登录(2)--登录使用

    http://cjp1989.iteye.com/blog/1740964 1.Ajax的原理: Ajax的原理就是:通过javascript的方式,将前台数据通过xmlhttp对象传递到后台,后台在 ...

  8. 【温故知新】——原生js中常用的四种循环方式

    一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0   网页输出“欢迎下次光临” 在网页中弹出框输入1   网页输出“查询中……” 在 ...

  9. ajax 异步 提交 含文件的表单

    1.前言 需求是使用 jquery 的 ajax 异步提交表单,当然,不是简单的数据,而是包含文件数据的表单.于是我想到了 new FormData() 的用法, 可是仍然提交失败,原来是ajax的属 ...

随机推荐

  1. 拖拽TreeViewItem到OCX控件

    由于C#在性能方面,和C++还是有不少的差距,所以在项目中有一块是用C++的OCX控件实现,然后包括在WPF项目中.由于C++,C#属于不同的体系架构,造成了许多问题,特使是拖拽TreeViewIte ...

  2. 浅谈react受控组件与非受控组件

    引言 最近在使用蚂蚁金服出品的一条基于react的ant-design UI组件时遇到一个问题,编辑页面时input输入框会展示保存前的数据,但是是用defaultValue就是不起作用,输入框始终为 ...

  3. Linux系统Bash的常用功能(9)

    了解了基本的Linux文件文件系统的概念后,我们将更深入的了解一下Linux的其他方面的内容,那就是我们所使用的用户接口,也就是大家常听到的 『Shell』 ,『这个shell并不是黑客反弹的shel ...

  4. 大脸猫讲逆向之ARM汇编中PC寄存器详解

    i春秋作家:v4ever 近日,在研究一些开源native层hook方案的实现方式,并据此对ARM汇编层中容易出问题的一些地方做了整理,以便后来人能有从中有所收获并应用于现实问题中.当然,文中许多介绍 ...

  5. Vue+WebSocket+ES6+Canvas 制作「你画我猜」小游戏

    Vue+WebSocket+ES6+Canvas 制作「你画我猜」小游戏 转载 来源:jrainlau 链接:https://segmentfault.com/a/1190000005804860 项 ...

  6. flask_ Mongodb 的语法-排序

    MOngoDB的排序是挺有用的   ,跟MySQL有明显的区别 .. 它的原生语法的第一个参数为条件限定,第二个参数为排序字段 db.news.find({},{'_id':1})   #1是升序  ...

  7. 设置Jmeter默认为中文, 就是这么简单!

    Jmeter默认加载的全英文,想要看的更加明白,想到的就是汉化了. Jmeter汉化真的非常简单,意料之外的简单,只需要到配置文件 jmeter.properties ,将里面的 “#language ...

  8. POJ 2546

    #include<iostream> #include<numeric> #include<iomanip> #include<algorithm> # ...

  9. flask开发微信公众号

    1.进入微信公众号首页,进行注册登录 https://mp.weixin.qq.com/ 2.进入个人首页,进行公众号设置 可参照 公众号文档 进行开发 开发前 先阅读 接口权限列表 3.配置服务器 ...

  10. win10关机之后自动重启(系统更新之后出现这个问题)

    最近更新了一把win10之后出现无法关机,关机之后直接又开机,无限循环状态.最近几天没空处理一直是强关笔记本下班的. 今天打了一把命令: shutdown /s /t 0 发现关机正常,本来打算整个脚 ...