zoukankan      html  css  js  c++  java
  • extJs常用的四种Ajax异步提交

    /**
     * 第一种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);
      }
     });
    }
  • 相关阅读:
    SqlServer事务日志满的解决方案
    关于.net反射和metadata加载致Jeffray Zhao等几位和firelong
    Context Root选/的原则
    [继续讨论]关于Windows PE和.net assembly的加载
    有趣的重写GetType()方法
    对Wintercn关于函数式编程的文章评论
    The experience to config Cisco 2811 for VOIP
    关于c#静态方法和实例方法的辨析和应用
    防止刷新时,密码输入框中的信息丢失
    计算百分比 JS
  • 原文地址:https://www.cnblogs.com/haiq/p/2090105.html
Copyright © 2011-2022 走看看