今天,對EXT做了一下初步的了解,了解了一些基本用的函數、窗體對象、表單、文本域、按鈕,一些基本的函數我列了出來,寫了個登陸的demo,是根據別人的例子模仿出來的,見諒哈。
基本函數
Ext.onReady();函數: ExtJS Application的入口,相當於java的main()函數
Ext.MessageBox.alert()函數:彈出對話框
窗體對象
var win = new Ext.Window({});創建一個新的Window窗體對象
title:"窗口":窗體的標題
width:111,height:111:窗體的寬度及高度
iconCls:"loginicon":窗體標題前的圖標
html:"<div>這里是窗體的內容</div>":窗體內部顯示的html內容
resizable:true:是否調整窗體的大小
modal:true:是否為模態窗體(打開這個窗體后不能對其他窗體進行操作)
closable:true:顯示關閉按鈕
maximizable:true:顯示最大化按鈕
minimizable:true:顯示最小化按鈕
win.show():窗體展示
plain:true:強制與背景色保持協調,默認為false
bodyStyle:與邊框的間距
buttonAlign:窗體中button的對齊方式left,center,right(默認為right)
方法
show:打開窗體
hide:隱藏窗體
close:關閉窗體
事件
how:打開窗體時觸法
hide:隱藏窗體時觸法
close:關閉窗體時觸法
表單(form組件)
屬性
width,height:寬度及高度
url:字符串,表單提交地址
方法
reset:表單重置
isValid:表單是否驗證去全部通過
submit:表單提交
文本框
Ext.QuickTips.init();作用是初始化標簽中的Ext:Qtip屬性,並賦予顯示提示的動作
var txtusername = Ext.form.TextField();創建一個新的TextField文本框對象
allowBlank:false:文本框不能為空
maxLength:20:文本框最大長度為20個字符,但是超過時還是可以輸入,但會出現警告
name:"password":表單名稱,與服務器交互時按name接收post的參數值
fieldLabel:"用戶名":文本框前面顯示的文字標題
blankText:"請輸入用戶名":當非空較驗沒有通過時的提示信息
maxLengthText:"用戶名不能超過20個字符":當最大長度校驗沒有通過時的提示信息
按鈕
var btnsubmit = new Ext.Button();創建一個新的Button按鈕對象
text:"提交":按鈕上的文字
事件
handler:首發方法處理事件(是一個特殊的listener)
listeners:事件監聽(事件名+處理函數)
登陸窗口demo
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>登陸頁面</title> <script type="text/javascript" src="Ext/adapter/ext/ext-base.js" ></script> <script type="text/javascript" src="Ext/ext-all.js" ></script> <link rel="stylesheet" href="Ext/resources/css/ext-all.css" /> <style type="text/css"> .loginicon { background-image: url(img/2012062119234296.gif) !important; } </style> <script> Ext.onReady(function(){ Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = "side"; var btnsubmitclick = function(){ if(form.getForm().isValid()){ Ext.MessageBox.alert("提示","登陸成功!"); } } var btnresetclick = function(){ form.getForm().reset(); } var txtusername = new Ext.form.TextField({ width:147, allowBlank:false, maxLength:10, fieldLabel:"用戶名", blankText:"請輸入用戶名", maxLengthText:"用戶名不能超過10個字符" }); var txtpassword = new Ext.form.TextField({ width:147, allowBlank:false, maxLength:10, name:"password", fieldLabel:"密碼", blankText:"請輸入密碼", maxLengthText:"密碼不能超過10個字符" }); var txtcheckcode = new Ext.form.TextField({ width:80, allowBlank:false, maxLength:4, fieldLabel:"驗證碼", id:"checkcode", blankText:"請輸入驗證碼", maxLengthText:" 驗證碼為4個字符" }); var btnsubmit = new Ext.Button({ text:"登陸", handler:btnsubmitclick }); var btnreset = new Ext.Button({ text:"重置", handler:btnresetclick }); var form = new Ext.form.FormPanel({ url:"********", labelAlign:"right", labelWidth:45, cls:"loginform", buttonAlign:"center", frame:true, width:230, height:140, style:"margin:3px", html:"<div></div>", items:[txtusername,txtpassword,txtcheckcode], buttons:[btnsubmit,btnreset] }); var win = new Ext.Window({ title:"登陸窗口", iconCls:"loginicon", plain:true, width:250, height:180, resizable:false, shadow:true, modal:true, html:"<div></div>", closable:true, maximizable:true, minimizable:true, animCollapse:true, items:form }); win.show(); var checkcode = Ext.getDom("checkcode"); var checkimage = Ext.get(checkcode.parentNode); checkimage.createChild({ tag:"img", src:"img/checkcode.gif", align:"absbottom", style:"padding-left:20px;cursor:pointer;" }); }); </script> </head> <body> </body> </html>