`

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

    博客分类:
  • js
阅读更多

http://beckrabbit.iteye.com/blog/132686  非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='http://www.baidu.com';
                                 }                                                            
                   } ,
                   failure: function(form,action) {
                                       Ext.MessageBox.alert('提示', action.result.message);
                                       win.getComponent('login').form.reset();
                                  
               }                            
                         });
                         }
                         }
                     },{
                 text: '取消',
       handler:function(){simple.form.reset();}//重置表单
             }]

分享到:
评论

相关推荐

    完成的 Ajax 提交表单

    该例子是使用 Ajax 提交 Ext 表单,并通过 success 和 failer 返回相应的值。

    ext form 表单提交数据的方法小结

    EXT的form表单ajax提交(默认提交方式) 代码如下: 1. function login(item) { 2. 3. if (validatorForm()) { 4. // 登录时将登录按钮设为disabled,防止重复提交 5. this.disabled = true; 6. 7...

    ExtJSWeb应用程序开发指南(第2版)

    4.1.3 Ext.form.field.Base基础表单字段 4.1.4 Ext.form.field.Text文本域 4.1.5 Ext.form.field.TextArea文本区 4.1.6 Ext.form.field.Number数字输入框 4.1.7 Ext.form.field.Checkbox复选框和Ext.form.field....

    ext几个实例

    本篇是关于Ext.Ajax + Ext.FormPanel + MySQL数据库的完整登录案例,一个是html的form表单,一个是Ext的FormPanel表单,在提交或结合Ext.Ajax多少还是有区别的.

    Ext 开发指南 学习资料

    碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 A.9. 有关grid的一些小问题 A.9.1. 如何让grid总所有的列都支持排序 A.9.2. 修改一个grid的ColumnModel和...

    Ext+Jsp+Hibernate 学生信息管理

    界面不多,主要包括了Grid的使用,Form表单的使用,Ajax无刷新技术的运用。实现了数据列表及分页显示,数据的增删改,及grid与form的联动效果。 开发平台:WinXP+Tomcat6+MyEclipse6+SQLServer2005+Spket

    Ext+JS高级程序设计.rar

    8.2 Form表单组件 226 8.2.1 DisplayField控件 226 8.2.2 在FormPanel中使用TabPanel 229 8.2.3 DirectLoad与DirectSubmit 232 8.2.4 使用DirectSubmit上传文件 235 8.3 Grid组件 238 8.3.1 一个结合DataWrite和...

    Ext Js权威指南(.zip.001

    7.2.5 使用ajax处理数据的代理:ext.data.proxy.ajax与ext.data.proxy.rest / 308 7.2.6 跨域处理数据的代理:ext.data.proxy.jsonp / 312 7.2.7 为ext.direct服务的代理:ext.data.proxy.direct / 312 7.2.8 ...

    EXT2.0中文教程

    碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 B. 修改日志 C. 后记 C.1. 2007年12月5日,迷茫阶段 C.1.1. 仇恨 C.1.2. 反省 C.2. 关于ext与dwr整合部分的...

    PHP AjaxForm提交图片上传并显示图片

    本文实例为大家分享了PHP AjaxForm提交图片上传并显示图片的具体代码,供大家参考,具体内容如下 PHP dofile.php 文件上传源码 <?php $file_upload = "upload/"; $file_allow_ext='gif|jpg|jpeg|png|gif|zip|rar...

    EXT教程EXT用大量的实例演示Ext实例

    碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 B. 修改日志 C. 后记 C.1. 2007年12月5日,迷茫阶段 C.1.1. 仇恨 C.1.2. 反省 C.2. 关于ext与dwr整合...

    精通JS脚本之ExtJS框架.part1.rar

    12.1.3 Ext.Ajax.request提交XML数据 12.2 Ext.Updater基础 12.2.1 Ext.Updater.update方法 12.2.2 Ext.Updater.update操作示例 12.3 利用Ajax优化Web应用框架 12.3.1 多级联动菜单 12.3.2 Ajax修改用户密码 ...

    精通JS脚本之ExtJS框架.part2.rar

    12.1.3 Ext.Ajax.request提交XML数据 12.2 Ext.Updater基础 12.2.1 Ext.Updater.update方法 12.2.2 Ext.Updater.update操作示例 12.3 利用Ajax优化Web应用框架 12.3.1 多级联动菜单 12.3.2 Ajax修改用户密码 ...

    非常好的gwt-ext培训教程

    它扩展了 GWT,在 ExtJs 的基础上实现了有排序功能的表格(Grid)、分页、过滤,支持有拖拽功能的树,高度可定制的组合下拉框(Combobox)、目录、对话框、表单(Form)以及功能丰富、强大且易用的 API。 GWT-Ext ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\...

    Ext深入浅出 数据传输

    12.6 为表单添加提交事件............................. 332 12.7 清空表单信息........................................ 335 12.8 删除指定的学生信息............................. 336 12.9 在Grid和Form之间...

    ExtAspNet_v2.3.2_dll

    -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...

    ExtJS4如何给同一个formpanel不同的url

    formpanel可以这样使用,api上的例子: 代码如下: var panel=Ext.create(‘Ext.form.Panel’, { title: ‘Simple Form’, bodyPadding: 5, width: 350, // 将会通过 AJAX 请求提交到此URL //url: ‘save-form.php’,...

    轻松搞定Extjs_原创

    二、Ext.form.FormPanel类 93 三、提交表单至服务器 97 四、小结 100 第十六章:更多表单组件 102 一、您能说出哪些表单组件呢? 102 二、表单组件关系图 102 三、组件配置选项介绍 103 四、完整源代码 107 五、小结...

    ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)

    form id=”form1″ runat=”server”> ”center”> <fieldset xss=removed> ”3″ cellspacing=”3″ border=”0″> <tr> <td> ”lblName” Text=”姓名: runat=”server”></asp> </td> <td> <asp:TextBox

Global site tag (gtag.js) - Google Analytics