当前位置:实例文章 » PHP实例» [文章]使用ext2的form提交表单(非AJAX方式)

使用ext2的form提交表单(非AJAX方式)

发布人:shili8 发布时间:2022-12-07 23:36 阅读次数:25

/caseinfo/link/ac4c225a1cc74419a924ac4e0483a776 非ajax方式提交表单

  1. var simple = new Ext.form.FormPanel({
  2. url:'../userlogin., do'
  3. //实现非AJAX提交表单一定要加下面的两行!
  4. /*onSubmit: Ext.emptyFn, //onSubmit没有起作用
  5. submit: function() {
  6. //有疑问的地方
  7. this.getEl().dom.action='../userlogin.do';
  8. this.getEl().dom.submit();
  9. }, */
  10. buttons: [{
  11. text: '登录',
  12. type:'button',
  13. id:'login',
  14. handler: login
  15. },{
  16. text: '重置',
  17. type:'reset',
  18. id:'clear',
  19. handler: reset
  20. } ]

function login(){

alert('form submit!');
simple.getForm().getEl().dom.action='www.baidu.com';
simple.getForm().getEl().dom.submit();

}

    handler如何传递参数?例如:如何向function login里传递action的值?
    关于回调函数指定参数问题,由来已久,extjs简洁优雅完美的解决了这个问题。

    createDelegate ( [Object obj ] , [Array args ] , [Boolean/Number appendArgs ] ) : Function



    返回一个函数, 这个函数调用原函数,原函数中的this指向obj ,关于这个函数的参数由 appendArgs 指定 :

    如 function2=function1.createDelegate(obj,args,appendArgs);

    function2 call function1 ,function1 中的 this == obj

    1. appendArgs false

    那么 调用 function2时传的参数被忽略,args数组参数作为function1的参数运行。

    2. appendArgs === true

    那么 调用 function2时传的参数放在args数组前面合成一个新的数组,作为function1的参数运行。

    3.typeof appendArgs == 'Number'

    假设 调用 function2时传的参数 为 array1 (注意要 slice 为 真正的 Array)
    那么将 args 数组插入到 array1 的指定 appendArgs位置 (利用 splice( appendArgs,0 ))
    然后再把最终数组 作为function1的参数运行。

    buttons: [{
    text: 'Save',
    type: 'button',
    id: 't',
    // handler: test
    handler: test2.createDelegate(this,'www.baidu.com',true) //把this传进test2函数中,在函数中,也把www.baidu.com传进test2函数中
    },{
    text: 'Cancel'
    }]
    function test2(){

    alert('form submit---传url!' +this);
    }
    Ext.get('action_c').on('click',action_bc.createDelegate(Ext.get('action_c'),['自定义参数在第一位'],0));
    ext 表单提交按钮与post表单值方法
    2008-08-20 11:14

    buttons: [{
    text: '登录',
    handler:function(){//当点击按钮执行这个函数
    if(win.getComponent('login').form.isValid()){login为from的id
    win.getComponent('login').form.submit({
    url:'login_chk.php',
    waitTitle:'提示',
    method: 'POST',
    waitMsg:'正在登录验证,请稍候...',
    success:function(form,action){//如果post成功执行这里
    var loginResult = action.result.success;
    if(loginResult == false){//如果login_chk.php返回false执行这里
    Ext.MessageBox.alert('提示', action.result.message);
    } else if(loginResult == true){//反之执行这里
    Ext.MessageBox.alert('提示', action.result.message);
    window.location.href='/caseinfo/link/1a26ec0efa3f4aee98aeacc5b5e3ec8f';
    }
    } ,
    failure: function(form,action) {
    Ext.MessageBox.alert('提示', action.result.message);
    win.getComponent('login').form.reset();

    }
    });
    }
    }
    },{
    text: '取消',
    handler:function(){simple.form.reset();}//重置表单
    }]

相关标签:AjaxEXTPHPCC++

免责声明

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱290110527@qq.com删除。

其他信息

其他资源

Top