转自:http://blog.youkuaiyun.com/yu624774720hua/article/details/6552190
了解Ext.Button
- 说明:该主键代替了传统的submit,reset,button,HTML控件
- 构造参数:--text:按钮上的名称
- 属性:-text:获得当前按钮上的名称 -minWindth:按钮的最小宽度
- 方法:-setText:设置按钮上的名称
- 事件:-click:当点击按钮是触发
button实例
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>普通按钮</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- var _button = new Ext.Button({
- renderTo:document.body,
- text:"确 定",
- minWidth:100
- }) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
Ext.Button产生的引申话题
属性: -renderTO:将当前对象所生成的HTML对象存放进指的的对象中
构造参数 -handler:指定一个函数句柄,在默认事件触发是调用,此时的默认事件为click
-listeners:这个是在对象初始化之前,就将1系列事件进行定义的手段,在进行组件化编程时,特别有用
click(handler)实例
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>带事件的按钮</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- new Ext.Button({
- renderTo:Ext.getBody(),
- text:"确 定",
- handler:function(){
- alert("欢迎你学习EXTJS") ;
- }
- }) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
listeners调用(推荐):
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>第二种编写带事件的按钮</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- new Ext.Button({
- renderTo:Ext.getBody(),
- text:"确 定",
- listeners:{
- "click":function(){
- alert("欢迎你学习EXTJS") ;
- }
- }
- }) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
传统调用方法(不推荐)
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>第三种编写带事件的按钮</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- var _btn = new Ext.Button({
- renderTo:Ext.getBody(),
- text:"确 定"
- }) ;
- _btn.on("click" , function(){
- alert("欢迎你学习EXTJS") ;
- }) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
了解Ext.form.TextField
- 说明:该组件代替了传统的text组件
- 属性:-fieldLabel:文本框的标签名称
- 方法-getValue():得到文本框的值
textfield实例
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>文本框</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- new Ext.form.TextField({
- renderTo:Ext.getBody(),
- fieldLabel:"姓名"
- }) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
以上这个代码,无法实现textLabel的内容,原因是我们没有使用布局
由Ext.form.TextField产生的引申话题
- Ext.layout.FormLayout:只有在此布局下才能正确显示文本框的标签名,布局的宿主对象必须是Ext.Container或者Ext.Container的子类
- 在应用FormLayout布局时只要在宿主对象的参数中指定layout:"form"即可
- Ext.getCmp(String_id):的到id为_id的组件对象
布局后实例
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>嵌套在具有FormLayout布局特性面板里的文本框</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- var _panel = new Ext.Panel({
- renderTo:Ext.getBody(),
- layout:"form",
- labelWidth:30,
- listeners:{
- "render":function(_panel){
- _panel.add(new Ext.form.TextField({
- id:"txt_name",
- fieldLabel:"姓名"
- })) ;
- }
- }}) ;
- new Ext.Button({
- text:"确 定",
- renderTo:Ext.getBody(),
- handler:function(){
- alert(Ext.getCmp("txt_name").getValue()) ;
- }
- }) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
了解Ext.Panel
- 说明:从某种意义来讲,其彻底改变了网页界面是通过HTML Table进行布局的历史
- 属性:-title:面板的标签名 -width :指定版面的宽度 -height:指定版面的高度 -frame 把4个脚变圆角,改变背景色
- 方法:-addButton(String/Object_config,Function_handler,Object_scope)添加一个按钮对象到面板中
panel基础实例
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>面板</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- new Ext.Panel({
- renderTo:Ext.getBody(),
- title:"人员信息"
- }) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
panel实例(2)
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>指定长与宽的面板</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- new Ext.Panel({
- renderTo:Ext.getBody(),
- title:"人员信息",
- width:200,
- height:300
- }) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
addButton实例:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>带两个按钮的面板</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- var _panel = new Ext.Panel({
- title:"人员信息",
- frame:true,
- width:200,
- height:300
- }) ;
- _panel.addButton({text:"确 定"}) ;
- _panel.addButton(new Ext.Button({text:"取 消"})) ;
- _panel.render(Ext.getBody()) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
panel居中(定位)
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>不顶边面板</title>
- <mce:style type="text/css"><!--
- .contain{
- width:100%;
- height:100%;
- top:0;
- left:0;
- }
- .center {
- position:absolute;
- top:30%;
- left:43%;
- text-align:left;
- }
- --></mce:style><style type="text/css" mce_bogus="1">.contain{
- width:100%;
- height:100%;
- top:0;
- left:0;
- }
- .center {
- position:absolute;
- top:30%;
- left:43%;
- text-align:left;
- }</style>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- var _panel = new Ext.Panel({
- title:"人员信息",
- frame:true,
- width:200,
- height:300
- }) ;
- _panel.addButton({text:"确 定"}) ;
- _panel.addButton(new Ext.Button({text:"取 消" , minWidth:100})) ;
- _panel.applyToMarkup(Ext.DomHelper.append(Ext.getBody(), {
- tag:"div",
- cls:"contain",
- cn:[{
- tag:"div",
- cls:"center"
- }]
- } , true).child("div")) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
2个textfield
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>带两个文本框的面板</title>
- <mce:script type="text/javascript" src="../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- var _panel = new Ext.Panel({
- title:"人员信息",
- frame:true,
- width:300,
- height:200,
- layout:"form",
- listeners:{
- "render":function(_panel){
- _panel.add({xtype:"textfield" , fieldLabel:"姓名"}) ;
- _panel.add(new Ext.form.TextField({
- fieldLabel:"地址"
- })) ;
- }
- }
- }) ;
- _panel.addButton({text:"确 定"}) ;
- _panel.addButton(new Ext.Button({text:"取 消" , minWidth:100})) ;
- _panel.render(Ext.getBody()) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
登陆界面:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>登陆程序</title>
- <mce:style type="text/css"><!--
- .contain{
- width:100%;
- height:100%;
- top:0;
- left:0;
- }
- .center {
- position:absolute;
- top:30%;
- left:43%;
- text-align:left;
- }
- --></mce:style><style type="text/css" mce_bogus="1">.contain{
- width:100%;
- height:100%;
- top:0;
- left:0;
- }
- .center {
- position:absolute;
- top:30%;
- left:43%;
- text-align:left;
- }</style>
- <mce:script type="text/javascript" src="../../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- var _panel = new Ext.Panel({
- title:"登 陆",
- frame:true,
- width:260,
- height:130,
- layout:"form",
- labelWidth:45,
- listeners:{
- "render":function(_panel){
- _panel.add({xtype:"textfield" , fieldLabel:"账号" , width:180}) ;
- _panel.add({xtype:"textfield" , fieldLabel:"密码" , width:180}) ;
- }
- }
- }) ;
- _panel.addButton({text:"确 定"}) ;
- _panel.addButton({text:"取 消"}) ;
- _panel.applyToMarkup(Ext.DomHelper.append(Ext.getBody(), {
- tag:"div",
- cls:"contain",
- cn:[{
- tag:"div",
- cls:"center"
- }]
- } , true).child("div")) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>
以上全是Ext2.0以下版本的写法,写起来很麻烦
2.2版本的登陆界面
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link rel="stylesheet" type="text/css" href="../../../../resources/css/ext-all.css" mce_href="resources/css/ext-all.css" />
- <title>登陆程序</title>
- <mce:style type="text/css"><!--
- .contain{
- width:100%;
- height:100%;
- top:0;
- left:0;
- }
- .center {
- position:absolute;
- top:30%;
- left:43%;
- text-align:left;
- }
- --></mce:style><style type="text/css" mce_bogus="1">.contain{
- width:100%;
- height:100%;
- top:0;
- left:0;
- }
- .center {
- position:absolute;
- top:30%;
- left:43%;
- text-align:left;
- }</style>
- <mce:script type="text/javascript" src="../../../../adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script>
- <mce:script type="text/javascript" src="../../../../ext-all.js" mce_src="ext-all.js"></mce:script>
- <mce:script type="text/javascript" src="../../../../build/locale/ext-lang-zh_CN.js" mce_src="build/locale/ext-lang-zh_CN.js"></mce:script>
- <mce:script type="text/javascript"><!--
- Ext.onReady(function(){
- var _panel = new Ext.Panel({
- title:"登 陆",
- frame:true,
- width:260,
- height:130,
- layout:"form",
- labelWidth:45,
- defaults:{xtype:"textfield" , width:180},
- items:[{
- fieldLabel:"账号"
- },{
- fieldLabel:"密码"
- }],
- buttons:[{
- text:"确 定"
- },{
- text:"取 消"
- }]
- }) ;
- _panel.applyToMarkup(Ext.DomHelper.append(Ext.getBody(), {
- tag:"div",
- cls:"contain",
- cn:[{
- tag:"div",
- cls:"center"
- }]
- } , true).child("div")) ;
- }) ;
- // --></mce:script>
- </head>
- <body>
- </body>
- </html>