您的位置:首页 > Web前端 > JavaScript

Extjs学习 三种方式提交form表单

2012-07-14 22:37 274 查看
1、EXT的form表单ajax提交(默认提交方式)  

    相对单独的ajax提交来说优点在于能省略写参数数组 

    将按钮添加单击事件,执行以下方法

Javascript代码:

[JavaScript] view
plaincopyprint?

    function login(item) {                

    if (validatorForm()) {      

        // 登录时将登录按钮设为disabled,防止重复提交      

        this.disabled = true;  

        // 第一个参数可以为submit和load      

        formPanl.form.doAction('submit', {  

            url : 'user.do?method=login',    

            method : 'post',  

            // 如果有表单以外的其它参数,可以加在这里。我这里暂时为空,也可以将下面这句省略      

            params : '',   

            // 第一个参数是传入该表单,第二个是Ext.form.Action对象用来取得服务器端传过来的json数据      

            success : function(form, action) {   

                Ext.Msg.alert('操作', action.result.data);      

                this.disabled = false;    

            },      

            failure : function(form, action) {   

                Ext.Msg.alert('警告', '用户名或密码错误!');      

                // 登录失败,将提交按钮重新设为可操作      

                this.disabled = false;    

            }      

        });      

        this.disabled = false;      

    }      

    }   

2、EXT表单的非ajax提交  在表单需加入下列代码 

Javascript代码:

[JavaScript] view
plaincopyprint?

//实现非AJAX提交表单一定要加下面的两行! <br>onSubmit : Ext.emptyFn, <br>submit : function() {       

    //再次设定action的地址       

    this.getEl().dom.action ='user.do?method=login'; this.getEl().dom.method = 'post';       

    //提交submit      

    this.getEl().dom.submit();      

},  

3、EXT的ajax提交 

Javascript代码:

[JavaScript] view
plaincopyprint?

    Ext.Ajax.request({           

     url: 'login.do',    //请求地址   

     //提交参数组      

     params: {      

         LoginName:Ext.get('LoginName').dom.value,      

         LoginPassword:Ext.get('LoginPassword').dom.value      

     },      

     //成功时回调      

     success: function(response, options) {      

        //获取响应的json字符串      

       var responseArray = Ext.util.JSON.decode(response.responseText);                                                   

        if(responseArray.success==true){      

            Ext.Msg.alert('恭喜','您已成功登录!');          

        } else{      

            Ext.Msg.alert('失败','登录失败,请重新登录');          

        }      

    }      

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息