`
junjun16818
  • 浏览: 106399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

touch 1.1 form 例子

阅读更多

Ext.setup({
    icon: 'icon.png',
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    glossOnIcon: false,
    onReady: function() {

        var form;
        
        Ext.regModel('User', {                       //创建模型
            fields: [
                {name: 'name',     type: 'string'},
                {name: 'password', type: 'password'},
                {name: 'email',    type: 'string'},
                {name: 'url',      type: 'string'},
                {name: 'rank',     type: 'string'},
                {name: 'enable',   type: 'boolean'},
                {name: 'cool',     type: 'boolean'},
                {name: 'color',    type: 'string'},
                {name: 'team',     type: 'string'},
                {name: 'secret',   type: 'boolean'}
            ]
        });
        
         Ext.regModel('Ranks', {                //创建模型
            fields: [
                {name: 'rank',     type: 'string'},
                {name: 'title',    type: 'string'}
            ]
         });
        
        var ranksStore = new Ext.data.JsonStore({       //创建Json
           data : [
                { rank : 'master',  title : 'Master'},
                { rank : 'padawan', title : 'Student'},
                { rank : 'teacher', title : 'Instructor'},
                { rank : 'aid',     title : 'Assistant'}
           ],
           model : 'Ranks',
           autoLoad : true,
           autoDestroy : true
        });
        
        var formBase = {
            scroll: 'vertical',
            url   : 'postUser.php',
            standardSubmit : false,
            items: [{
                    xtype: 'fieldset',    //form 域
                    title: 'Personal Info',   // 域标题显示文字
                    instructions: 'Please enter the information above.', //域结尾显示文字
                    defaults: {
                        required: true,
                        labelAlign: 'left',  //控件显示位置
                        labelWidth: '40%'  // label 占行比例
                    },
                    items: [
                    {
                        xtype: 'textfield',      //文本框
                        name : 'name',
                        label: 'Name',
                        useClearIcon: true,   //当在文本框内输入文字时  显示删除文字的图标
                        autoCapitalize : false   //获取时文字转为大写? 未实验    
                    }, {
                        xtype: 'passwordfield',  //密码框
                        name : 'password',
                        label: 'Password',
                        useClearIcon: false
                    }, {
                        xtype: 'textfield',
                        name : 'disabled',
                        label: 'Disabled',
                        //disabled: true,          //控件不可用
						inputType : "file",           //选择文件
                        useClearIcon: true          
                    }, {
                        xtype: 'emailfield',        //邮箱框
                        name : 'email',
                        label: 'Email',
                        placeHolder: 'you@sencha.com',  //默认显示文字
                        useClearIcon: true
                    }, {
                        xtype: 'urlfield',     //网址框
                        name : 'url',
                        label: 'Url',
                        placeHolder: 'http://sencha.com',
                        useClearIcon: true
                    }, {
                        xtype: 'checkboxfield',         //复选框
                        name : 'cool',
                        label: 'Cool',
                        value: true    // 值
                    }, {
                        xtype: 'spinnerfield',  //HTML5 数字字段
                        name : 'spinner',
                        label: 'Spinner'
                    }, {
                        xtype: 'selectfield',   //选择框
                        name : 'rank',
                        label: 'Rank',
                        valueField : 'rank',     //值     用数据中的 rank 字段
                        displayField : 'title',  //显示用数据中的title字段
                        store : ranksStore       //数据源
                    }, {
                        xtype: 'hiddenfield',    //隐藏域
                        name : 'secret',
                        value: 'false'
                    }, {
                        xtype : 'textareafield', //大文本域
                        name  : 'bio',
                        label : 'Bio',
                        maxLength : 60,          //长度最大值
                        maxRows : 10             //高度最大值
                    }, {
                        xtype: 'sliderfield',    //滑动选择数值
						value   : 5,             //当前值
           				minValue: 0,             //最小值
            			maxValue: 10,            //最大值
                        name : 'height',         
                        label: 'Height'
                    }, {
                        xtype: 'togglefield',    //切换框       选择是否
                        name : 'enable',
                        label: 'Security Mode'
                    }, {
                        xtype: 'radiofield',     //单选
                        name: 'team',            //同名为一组
                        label: 'Red Team',
                        value : 'redteam'
                    }, {
                        xtype: 'radiofield',
                        name: 'team',
                        label: 'Blue Team',
                        value: 'blueteam'
                    }]
                }, {
                    xtype: 'fieldset',              //新的域
                    title: 'Favorite color',
                    defaults: { xtype: 'radiofield' },  //默认类型 单选框
                    items: [
                        { 
							name : 'color',             
							label: 'Red', 
							value : 'red' 
						},
                        { 
							name : 'color', 
							label: 'Green' , 
							checked : true,             //默认选择
							value : 'green'
						}
                    ]
                }, {
                    xtype: 'fieldset',               //新的域
                    title: 'HTML5',
                    items: [{
                        xtype: 'numberfield',          //数字框                 
                        name: 'number',
                        label: 'Number',
                        maxValue : 20,            //最大值   就算设定最大值和最小值  也可以手动输入 大于这个值的数
                        minValue : 2              //最小值
                    }, {
                        xtype: 'emailfield',
                        name: 'email2',
                        label: 'Email',
                        useClearIcon: true
                    }, {
                        xtype: 'urlfield',
                        name: 'url2',
                        label: 'URL',
                        useClearIcon: true
                    }]
                },{
	                xtype: 'fieldset',
	                title: 'Single Select (in fieldset)',
	                items: [{
	                    xtype: 'selectfield',
	                    name: 'options',
	                    options: [
	                        {text: 'This is just a big select with text that is overflowing',  value: '1'},
	                        {text: 'Another item', value: '2'}
	                    ]
	                }]
				}, {
                    xtype: 'fieldset',
                    title: 'Single Text (in fieldset)',
                    items: [{
                        xtype: 'textfield',
                        name: 'single_text',
                        useClearIcon: true
                    }]
                }, {
                    xtype: 'fieldset',
                    title: 'Single Toggle (in fieldset)',
                    items: [{
                        xtype: 'togglefield',
                        name: 'single_toggle',
                        value : 1
                    }]
                }, {
                    xtype: 'fieldset',
                    title: 'Single Slider (in fieldset)',
                    items: [{
                        xtype: 'sliderfield',
                        name: 'single_slider',
                        value : 60
                    }]
                }
            ],
            listeners : {
                submit : function(form, result){                                //表单提交成功
					alert();
                    console.log('success', Ext.toArray(arguments));
                },
                exception : function(form, result){
					
                    console.log('failure', Ext.toArray(arguments));             //表单提交异常
                }
            },
        
            dockedItems: [               
                {
                    xtype: 'toolbar',                //工具栏
                    dock: 'bottom',                  //按钮
                    items: [
                        {
                            text: 'Load Model',      //标题
                            ui: 'round',             //使用 圆形  UI
                            handler: function() {    //点击触发事件
                                formBase.user = Ext.ModelMgr.create({  //创建一个 ModelMgr
                                    'name'    : 'Akura',
                                    'password': 'secret',
                                    'email'   : 'saru@sencha.com',
                                    'url'     : 'http://sencha.com',
                                    'single_slider': 20,
                                    'enable'  : 1,
                                    'cool'    : true,
                                    'team'    : 'redteam',
                                    'color'   : 'blue',
                                    'rank'    : 'padawan',
                                    'secret'  : true,
                                    'bio'     : 'Learned the hard way !'
                                }, 'User');  //模型使用上面的 User
        
                                form.loadModel(formBase.user);    //获取模型
                            }
                        },
                        {xtype: 'spacer'},  //空出中间位置
                        {
                            text: 'Reset',      
                            handler: function() {
                                form.reset();   //  复位
                            }
                        },
                        {
                            text: 'Save',
                            ui: 'confirm',       //使用 确认 UI
                            handler: function() {
                                if(formBase.user){
                                    form.updateRecord(formBase.user, true);
                                }
                                form.submit({   //提交
                                    waitMsg : {message:'Submitting', cls : 'demos-loading'}//载入层
                                });
                            }
                        }
                    ]
                }
            ]
        };
        
        if (Ext.is.Phone) {
            formBase.fullscreen = true;
        } else {
            Ext.apply(formBase, {
                autoRender: true,
                floating: true,
                modal: true,
                centered: true,
                hideOnMaskTap: false,
                height: 585,
                width: 680
            });
        }
        
        form = new Ext.form.FormPanel(formBase);
        form.show();
    }
});
 
分享到:
评论

相关推荐

    sencha touch 1.1 panel-list分页实现

    自己基本测试了下可用,不过没有放入总条数之类的,长度有限,他的原理就是可以动态修改传递的start 以及 limit,如果有其他参数请在 store里面放入baseParams 参数如: , baseParams : { sort : 'foodprice ...

    移动Web应用开发技术讲解-Sencha Touch 1.1

    移动Web应用,简单来理解就是针对移动终端优化过的Web 站点,终端用户通过支持Html5、Css3、Javascript标准的Webkit内核浏览器访问部署在服务器的Web应用。

    art_pi_touchGFX硬件交互1.1

    在本文中,我们将深入探讨如何使用TouchGFX框架在RT-Thread Studio中实现硬件交互,特别是在1.1版本中的具体应用。TouchGFX是一个高级图形库,专为嵌入式系统设计,它允许开发者创建丰富的用户界面,并与硬件进行...

    Sencha Touch 2入门教程之MVC例子程序源代码

    在本教程中,我们将深入探讨Sencha Touch 2中的MVC(Model-View-Controller)模式,并通过一个具体的登录界面例子来理解其工作原理。 MVC模式是软件设计中的经典架构,它将应用程序分为三个核心部分:模型(Model)...

    Pro Android学习:touch screen小例子

    "Pro Android学习:touch screen小例子"是一个教程,旨在帮助开发者理解和实践如何在Android应用中处理触摸事件和手势识别。在这个实例中,我们将深入探讨Android的触摸事件处理机制以及如何编写源代码来实现基本的...

    Sench Touch例子

    这个"Sencha Touch例子"是针对初学者和开发者的一个优秀资源,帮助他们理解并掌握如何在实际项目中运用Sencha Touch的MVC(Model-View-Controller)架构。 MVC模式是软件工程中的一个经典设计模式,主要用于分离...

    delphixe5 touch测试例子

    "Delphi XE5 Touch 测试例子" 是一个针对这一特性的实践案例,对于初学者来说,它提供了理解和掌握 Delphi XE5 触控编程的基础。 【描述】中的"纠结"可能指的是在开发过程中遇到的挑战,如事件处理、触摸响应的准确...

    Touch Test:: 测试触摸驱动的效果,在屏幕上画点,

    "Touch Test" 是一个专门用于检测和评估触摸驱动程序性能的工具。通过在屏幕上画点,用户可以直观地看到触摸屏驱动程序的工作效果,包括其精确度、响应速度和整体流畅性。 触摸驱动程序是操作系统与硬件之间的重要...

    sencha touch 例子 list 使用 代码

    在这个简单的例子中,我们创建了一个全屏的`List`,数据源是包含美国总统名字的数组。`itemTpl`仅显示每个总统的名字。 为了使列表更具交互性,我们可以添加更多的功能,如点击事件监听器和分组功能。例如: ```...

    touch-docs-2.2.1.zip(senchaTouch 离线API参考文档)

    2. **示例代码**:包含许多实际应用的例子,展示了如何在项目中使用Sencha Touch的各种功能。 3. **快速入门指南**:针对初学者的教程,引导他们快速上手Sencha Touch的开发环境和基本操作。 4. **用户手册**:...

    野火STM32F4开发板适配TouchGFX

    在这个项目中,我们将讨论如何在野火STM32F429开发板上移植和适配TouchGFX,以实现具有图形界面的dome例子。 首先,我们需要了解STM32F429的基本特性。这款微控制器基于ARM Cortex-M4内核,拥有高速浮点运算单元...

    一个完整的sencha touch 应用案例

    Sencha Touch 是一款专为移动设备设计的前端框架,它提供了丰富的组件库和强大的数据管理功能,用于构建高性能的触控应用。这个压缩包文件包含了创建一个完整的Sencha Touch 应用所需的基本元素,让我们逐一解析这些...

    sencha touch 例子 Tabs 和 Toolbars 使用

    在这个"sencha touch 例子 Tabs 和 Toolbars 使用"的教程中,我们将深入探讨如何利用Sencha Touch来实现Tab面板和工具栏的功能。 首先,让我们来看看Tab面板(Tabs)。在Sencha Touch中,TabPanel是一种布局类型,...

    Lean Touch+的深入学习与用法

    《 Lean Touch+ 深入学习与用法详解》 Unity引擎在游戏开发领域具有广泛的应用,其中, Lean Touch+ 是一款专为Unity设计的触摸交互工具,它极大地提升了移动平台上的用户界面(UI)交互体验。这款资产在AssetStore...

    【应用】★★★★-iPad Multi-Touch.zipIOS应用例子源码下载

    【应用】★★★★-iPad Multi-Touch.zipIOS应用例子源码下载【应用】★★★★-iPad Multi-Touch.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考

    SoundTouch变速集成工程示例(VS2015)

    SoundTouch 音频处理库,将官网三个工程进行集成后,在vs2015环境下编译成功,可以跑通,示例中参数为3倍速播放,可以生成加速语音,且语音未变调。 SoundTouch 是一个开源的音频处理库,主要实现包含变速、变调、...

    如何开始ToughGFX GUI.rar_TouchGFX教程_TouchGfx_ToughGfx shell_touchgfx

    TouchGFX是一款强大的图形用户界面(GUI)开发框架,专为嵌入式系统设计,尤其适用于需要高效、高质量2D图形的应用。本教程将引导您了解TouchGFX的基础知识,并展示如何利用它来创建和优化GUI。 首先,让我们深入...

    TouchGFX开发(3)-使用TouchGFX配置IIC接口OLED

    TouchGFX开发(3)----使用TouchGFX配置IIC接口OLED CSDN文字教程:https://blog.csdn.net/qq_24312945/article/details/130689223 B站教学视频:https://www.bilibili.com/video/BV17m4y1t7RT/ 本篇文章的主题是...

    unity触控系统源码TouchScript

    《Unity触控系统源码TouchScript深度解析》 Unity3d作为一款强大的游戏开发引擎,其在移动设备上的应用越来越广泛。随着触控设备的普及,触控交互成为了游戏开发中不可或缺的一部分。TouchScript,正是这样一套专为...

    touchGFX_manual.pdf

    TouchGFX是一款专门为STM平台(以及可以移植到其他嵌入式平台)设计的GUI解决方案,提供类Android的视觉效果,旨在帮助开发者实现自定义的UI界面设计。该软件的参考手册提供了丰富的信息和指导,帮助开发者进行安装...

Global site tag (gtag.js) - Google Analytics