`
lym6520
  • 浏览: 705706 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

ext 表单提交

    博客分类:
  • EXT
阅读更多
上个ext表单提交的例子,用servlet作为表单的服务器验证,当用户名和密码相同时,提示验证通过,否则提示验证失败。(附例子)
帖出ext表单布局代码
Ext.onReady(function(){
// 编码方式
Ext.lib.Ajax.defaultPostHeader += '; charset=utf-8';
          // 使用表单提示
          Ext.QuickTips.init();
          Ext.form.Field.prototype.msgTarget = 'side';

        // 定义表单
          var simple = new Ext.FormPanel({
            labelWidth: 75,
            baseCls: 'x-plain',
            defaults: {width: 150},
            defaultType: 'textfield',// 默认字段类型

            // 定义表单元素
            items: [{
                  fieldLabel: '帐户',
                  name: 'name',// 元素名称
                  // anchor:'95%',//也可用此定义自适应宽度
                  allowBlank:false,// 不允许为空
                  blankText:'帐户不能为空'// 错误提示内容
               },{
                  inputType:'password',
                  fieldLabel: '密码',
                  // anchor:'95%',
                  name: 'pws',
                  allowBlank:false,
                  blankText:'密码不能为空'
               }
            ],

            buttons: [{
               text: '登陆',
               type: 'submit',
               // 定义表单提交事件
               handler:function(){

 						if(simple.form.isValid()){// 验证合法后使用加载进度条
                           Ext.MessageBox.show({
                              title: '请稍等',
                              msg: '正在加载...',
                              progressText: '',
                              width:300,
                              progress:true,
                              closable:false,
                              animEl: 'loding'
                           });
                           // 控制进度速度
                           var f = function(v){
                            return function(){
                                    var i = v/11;
                                    Ext.MessageBox.updateProgress(i, '');
                                    };
                           };

                           for(var i = 1; i < 13; i++){
                              setTimeout(f(i), i*150);
                           }

                          // 提交到服务器操作
                          simple.form.doAction('submit',{
                            url:'servlet/loginServer',// 文件路径
                            method:'post',// 提交方法post或get
                            params:'',
                            // 提交成功的回调函数
                            success:function(form,action){
                            
                                 if (action.result.msg=='ok') {
                                   Ext.Msg.alert('登陆成功',action.result.msg);
                                   // document.location='index.html';
                                 } else {
                                    Ext.Msg.alert('登陆错误',action.result.msg);
                                 }
                            },
                            // 提交失败的回调函数
                            failure:function(){
                                 Ext.Msg.alert('错误','服务器出现错误请稍后再试!');
                            }
                          });
                        }
               }

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

                // 定义窗体
               win = new Ext.Window({
                  id:'win',
                  title:'用户登陆',
                  layout:'fit',   // 布局方式fit,自适应布局
                  width:300,
                  height:150,
                  plain:true,
                  bodyStyle:'padding:5px;',
                  maximizable:false,// 禁止最大化
                  closeAction:'close',
                  closable:false,// 禁止关闭
                  collapsible:true,// 可折叠
                  plain: true,
                  buttonAlign:'center',
                  items:simple// 将表单作为窗体元素嵌套布局
               });
               win.show();// 显示窗体

       });


效果图
  • 大小: 4.7 KB
分享到:
评论
5 楼 wx819648354 2014-04-10  
我想问下,控制进度速度是为了什么呢
4 楼 lym6520 2014-04-09  
wx819648354 写道
能帮我看下这段代码的问题吗,提交之后就会显示说我的ext-base.js参数无效

buttons:[{  
  text:"登录",
      type:'submit',
      handler:function(){
      if(form.form.isValid()){
      form.form.submit({
      waitTitle:"提示",
      waitMsg:"正在进行登录验证,请稍后..."
      });
      form.form.doAction('submit',{
      url:'login/LoginServer',
      method:'post'
      });
      }
      }
     
    }]

[*]
[/list]


调用submit后就自动去掉用doAction了,
有 form.form.submit 就不需要 form.form.doAction


3 楼 wx819648354 2014-04-09  
能帮我看下这段代码的问题吗,提交之后就会显示说我的ext-base.js参数无效

buttons:[{  
  text:"登录",
      type:'submit',
      handler:function(){
      if(form.form.isValid()){
      form.form.submit({
      waitTitle:"提示",
      waitMsg:"正在进行登录验证,请稍后..."
      });
      form.form.doAction('submit',{
      url:'login/LoginServer',
      method:'post'
      });
      }
      }
     
    }]
  • [/list]
    2 楼 lym6520 2014-04-09  
    wx819648354 写道
    我是Ext终极小菜鸟,我想问下Ext提交Action地址,是必须需要doAction这个对象的吗。

    Ext表单提交和加载都是通过doAction来处理的
    1 楼 wx819648354 2014-04-09  
    我是Ext终极小菜鸟,我想问下Ext提交Action地址,是必须需要doAction这个对象的吗。

    相关推荐

      EXT异步提交FORM表单

      console.log('表单提交成功:', action.result); }, failure: function(form, action) { console.error('表单提交失败:', action.result); } }); ``` 3. **配置回调函数**:在实际开发过程中,可能还需要对...

      ext_表单提交_数据校验

      ### ext_表单提交_数据校验:深入解析与实践 #### 一、文本框输入控件(Ext.form.TextField) 在Ext JS框架中,`Ext.form.TextField`是一种用于收集用户输入的基本控件,它提供了丰富的配置选项来实现数据校验。...

      ext表单

      EXT表单还支持异步提交,即通过Ajax技术将表单数据无刷新地发送到服务器。这通常涉及使用Action对象和FormPanel的submit方法。开发者可以自定义提交过程,处理服务器返回的结果,比如显示错误消息或处理成功后的后续...

      ext表单设计器,常用表单拖拉实现

      EXT表单设计器是一款基于EXT库的强大工具,专用于快速、高效地构建Web应用程序中的表单。EXT是一个流行的JavaScript框架,由Sencha公司开发,用于构建富客户端应用。EXT表单设计器充分利用EXT库的功能,提供了可视化...

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

      本文主要总结了EXT表单提交数据的三种常见方法:EXT的form表单AJAX提交、非AJAX提交以及EXT的Ajax类直接提交。 1. EXT的form表单AJAX提交(默认提交方式) EXT的form表单默认采用AJAX方式进行数据提交,这样可以在...

      EXT提交表单,ASP.NET

      title: 'EXT表单', items: [ {xtype: 'textfield', name: 'username'}, {xtype: 'passwordfield', name: 'password'} ], buttons: [{ text: '提交', handler: function() { formPanel.getForm().submit({ ...

      EXT dojochina ExtAjax表单提交 L9.rar

      Ext.Msg.alert('失败', '表单提交失败: ' + action.result.message); } }); } else { Ext.Msg.alert('警告', '请检查表单数据!'); } } }] }); ``` 在这个例子中,当用户点击提交按钮时,会触发`handler`...

      ExtJs4.0 表单提交Demo

      在“ExtJs4.0 表单提交Demo”中,我们将深入探讨如何在ExtJs 4.0环境下,通过Ext Ajax模块实现表单的数据提交,同时实现显示层和控制层的分离,提升代码的可维护性和可扩展性。 1. **ExtJs 4.0 表单基础** ExtJs ...

      EXT提交服务器的三种方式

      2. **EXT表单的非AJAX提交**:在某些情况下,可能需要传统的表单提交,即POST或GET请求,这会导致页面刷新。EXT允许你通过覆盖默认行为实现非AJAX提交。在示例代码中,通过添加`onSubmit: Ext.emptyFn`和自定义的`...

      Ext 动态加载表单数据

      通过以上步骤,你可以实现动态加载Ext表单数据的功能。在实际应用中,可能还需要考虑错误处理、数据验证、动态更新等问题,但以上代码提供了一个基础的实现思路。不断学习和实践,你将能更好地掌握Ext JS在构建动态...

      Ext 入门 登陆验证表单提交

      本文将围绕“EXT入门:登陆验证表单提交”这一主题,深入探讨EXTJS中实现登录表单验证的基本步骤和原理。 EXTJS允许我们通过其丰富的组件库创建美观且功能丰富的表单,包括输入框、按钮等元素。在登录场景中,我们...

      Ext表单组件实现用户注册

      3. 添加表单提交按钮并定义处理函数,进行数据验证和提交。 4. 可选地,使用`images`资源来增强用户体验。 通过这种方式,我们可以创建一个功能完备且用户友好的注册界面,为用户提供方便的注册服务。

      EXT4.3实现动态表单全动态

      使用`Ext.form.Basic`和`Ext.form.Panel`,可以轻松实现数据的提交和验证。 2. **EXT4.3动态grid**: - **动态列**:EXT4.3的`Ext.grid.Panel`允许在运行时动态添加、删除和调整列宽。开发者可以通过`columns`配置...

      Ext简单应用实例(表单,与后台交互,基本组件等)

      简单的Ext应用实例,包括表单,与后台交互,基本组件等的使用。对于Ext初学者来说挺实用的,适用于Ext 3.0版本

      Ext表单组件之checkbox

      本篇文章将深入探讨Ext表单组件中的checkbox,以及如何利用源码和相关工具进行定制和优化。 1. **复选框的基本概念** 复选框在用户界面中常用于让用户从多个选项中选择一个或多个。在Ext JS中,复选框是`Ext.form....

      Ext表单组件之textField

      本篇我们主要关注"Ext表单组件之textField",它是最基础也是最常用的输入控件,用于接收用户的文本输入。 一、Ext.form.TextField简介 Ext.form.TextField是Ext JS中的一个核心组件,它允许用户在表单中输入单行...

      Ext教程表单表格的使用

      【EXT表单FormPanel】 EXT表单FormPanel是EXT JS框架中用于创建复杂表单的组件,它允许用户输入、编辑和验证数据。在上述代码中,`sampleFormPanel`是一个FormPanel实例,包含了多个配置属性,用于定制表单的行为和...

      Ext 表单示例演示 视频

      在本示例中,我们关注的是使用Ext JS创建表单并连接到XML文件来动态展示数据的场景。Ext JS是一个强大的JavaScript库,专门用于构建富客户端应用程序,它提供了丰富的组件库,包括各种表单元素、布局和数据绑定机制...

      实现文件上传,以及表单提交成功的回调函数

      在这个场景下,"实现文件上传,以及表单提交成功的回调函数"意味着我们要关注两个主要部分:文件上传的实现和表单提交后的反馈机制。 1. **文件上传**: - **前端**:文件上传在现代浏览器中通常使用HTML5的`...

    Global site tag (gtag.js) - Google Analytics