【ExtJs】带日期组件的文本输入框、容器与Ext.Msg.alert告警框告警两次
来源:互联网 发布:西安市干部网络培训 编辑:程序博客网 时间:2024/05/22 18:28
ExtJs的UI组件主要模仿客户端的界面效果,甚至其编程方式都有类似之处。
一、基本目标
比如如下的组件,与VC6中的《【mfc】不同对话框之间互相操控、全局变量与日期控件》(点击打开链接)就有异曲同工之妙。
其基本的思想也是先设置两个日期组件与按钮组件,然后,在点击按钮,就触发事件。
二、制作过程
首先,这个网页全程运用ExtJs编程,因此基本的HTML布局,处理引入ExtJS资源之外什么都没有。甚至可以把下面的ExtJs脚本完全写在一个Js里面。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>ExtJs容器</title><script type="text/javascript" src="js/ext-all.js"></script><script type="text/javascript" src="js/bootstrap.js"></script> <script type="text/javascript" src="js/ext-lang-zh_CN.js"></script><link href="ext-theme-classic/ext-theme-classic-all.css" rel="stylesheet" type="text/css" ></head><body></body></html>
之后,在Ext.onReady(function(){});函数中先设置两个日期组件与按钮组件。这里不像JQuery,和《【ExtJs】ExtJs4.2.1的配置与Helloworld》(点击打开链接)一样,不把所有Ext函数写在Ext.onReady(function(){});里面,而不会出现任何效果。这里我为我自己的偷懒,搞了很久才发现问题。
<script>Ext.onReady(function(){var dateField1={xtype:'datefield',id:'startDate',name:'startDate',fieldLabel:'开始日期'};var dateField2={xtype:'datefield',id:'endDate',name:'endDate',fieldLabel:'结束日期'};var btn1={xtype:'button',text:'确定',width:100,listeners: {click: function(){Ext.Msg.alert("开始时间",Ext.getCmp("startDate").getValue(), function(){Ext.Msg.alert("结束时间",Ext.getCmp("endDate").getValue());});}}};Ext.create('Ext.container.Container',{layout:{type:'vbox',align:'center'},style:{backgroundColor:'#ccc',},renderTo:Ext.getBody(),items:[dateField1,dateField2,btn1]});});</script>
所有组件的设置,都是设置一个Json,其xtype组件的设置,指明此组件的类型,同时必须设置好id与name。对于带日期组件的文本输入框的feldLabel就是其输入框前面的中文。
对于button组件,事件的触发是必须在一个监听器里面的click事件,当然,写成其它事件也可以,一般是click。
之后,通过Ext.getCmp("xx").getValue(),获取xx组件的值。
如果要使,Ext.Msg.alert告警框告警两次,第二次的告警框必须写在第一次告警框的回调函数,回调函数的意思是,这个告警框处理的事情完毕之后,再进行这个函数的处理,相当于析构函数。
组件设置好之后,直接加入创建的容器里面,layout是Ext布局,这里的设置是垂直一排居中排列。style中可以设置任意css。renderTo:Ext.getBody(),是把这个容器放上去body之中,items表示这个容器中含有的组件,这里就是刚才设置的是那三个,注意,这里的items是一个json数组,里面的所有组件都是json。没有json中再放置json的写法,这样不符合javascript的语法要求,因此items一定要使用[],而不是{}。
同时,设置所有组件的时候注意,所有的json与数组不得以,结尾,否则你的IE系列读出不到的。这个问题在《【JavaScript】数组定义末尾请不要留下逗号》(点击打开链接)已经说过了。
- 【ExtJs】带日期组件的文本输入框、容器与Ext.Msg.alert告警框告警两次
- 3.3 msg.c:告警处理
- Swift - 告警框(UIAlertView)的用法
- ExtJs 告警弹窗
- Ambari Alert告警服务梳理
- Ext.Msg.alert要注意的问题
- Extjs消息提示框——仿造Ext.example.msg
- Extjs消息提示框——仿造Ext.example.msg
- Extjs之自动消失提示框(Ext.example.msg)
- Extjs之自动消失提示框(Ext.example.msg)
- Extjs之自动消失提示框(Ext.example.msg)
- Extjs文本输入框
- 处理AFNetworking的SystemConfiguration与MobileCoreServices告警
- Swift - 告警提示框(UIAlertController)的用法
- Swift - 告警提示框(UIAlertController)的用法
- Swift - 告警提示框(UIAlertController)的用法
- Swift - 告警提示框(UIAlertController)的用法
- Swift - 告警提示框(UIAlertController)的用法
- 图解CSS的padding,margin,border属性(详细介绍及举例说明)
- Mac 下利用 FileMerge 进行代码合并教程
- C++类构造函数初始化列表
- js获取当前服务器时间并动态刷新
- 构建OpenStack的云基础架构:ManageIQ(转)
- 【ExtJs】带日期组件的文本输入框、容器与Ext.Msg.alert告警框告警两次
- Cocos2d-x 屏幕适配解决方案
- Eclipse+Tomcat Web开发入门(一)
- matlab中实现Gabor滤波器
- php 数组转换为xml数据,已针对数组键值为数字进行处理
- 在Bundle中传递自定义的Arraylist<Object>
- iOS 苹果所有设备的系统、屏幕尺寸和像素
- crontab 里 % 会出错
- 第八周 项目一 (1) 实现复数类中的运算符重载 成员函数