extjs技术交流,欢迎加群(201926085)
在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下。
1.代码如下:
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <title></title>
5 <!--ExtJs框架开始-->
6 <script type="text/javascript" src="/Ext/adapter/ext/ext-base.js"></script>
7 <script type="text/javascript" src="/Ext/ext-all.js"></script>
8 <link rel="stylesheet" type="text/css" href="/Ext/resources/css/ext-all.css" />
9 <style type="text/css">
10 .loginicon
11 {
12 background-image: url(image/login.gif) !important;
13 }
14 </style>
15 <!--ExtJs框架结束-->
16 <script type="text/javascript">
17 Ext.onReady(function () {
18 //初始化标签中的Ext:Qtip属性。
19 Ext.QuickTips.init();
20 Ext.form.Field.prototype.msgTarget = 'side';
21 //提交按钮处理方法
22 var btnsubmitclick = function () {
23 if (form.getForm().isValid()) {
24 //通常发送到服务器端获取返回值再进行处理,我们在以后的教程中再讲解表单与服务器的交互问题。
25 Ext.Msg.alert("提示", "登陆成功!");
26 }
27 }
28 //重置按钮"点击时"处理方法
29 var btnresetclick = function () {
30 form.getForm().reset();
31 }
32 //提交按钮
33 var btnsubmit = new Ext.Button({
34 text: '提 交',
35 handler: btnsubmitclick
36 });
37 //重置按钮
38 var btnreset = new Ext.Button({
39 text: '重 置',
40 handler: btnresetclick
41 });
42 //用户名input
43 var txtusername = new Ext.form.TextField({
44 width: 140,
45 allowBlank: false,
46 maxLength: 20,
47 name: 'username',
48 fieldLabel: '用户名',
49 blankText: '请输入用户名',
50 maxLengthText: '用户名不能超过20个字符'
51 });
52 //密码input
53 var txtpassword = new Ext.form.TextField({
54 width: 140,
55 allowBlank: false,
56 maxLength: 20,
57 inputType: 'password',
58 name: 'password',
59 fieldLabel: '密 码',
60 blankText: '请输入密码',
61 maxLengthText: '密码不能超过20个字符'
62 });
63 //验证码input
64 var txtcheckcode = new Ext.form.TextField({
65 fieldLabel: '验证码',
66 id: 'checkcode',
67 allowBlank: false,
68 width: 76,
69 blankText: '请输入验证码!',
70 maxLength: 4,
71 maxLengthText: '验证码不能超过4个字符!'
72 });
73 //表单
74 var form = new Ext.form.FormPanel({
75 url: '******',
76 labelAlign: 'right',
77 labelWidth: 45,
78 frame: true,
79 cls: 'loginform',
80 buttonAlign: 'center',
81 bodyStyle: 'padding:6px 0px 0px 15px',
82 items: [txtusername, txtpassword, txtcheckcode],
83 buttons: [btnsubmit, btnreset]
84 });
85 //窗体
86 var win = new Ext.Window({
87 title: '用户登陆',
88 iconCls: 'loginicon',
89 plain: true,
90 width: 276,
91 height: 174,
92 resizable: false,
93 shadow: true,
94 modal: true,
95 closable: false,
96 animCollapse: true,
97 items: form
98 });
99 win.show();
100 //创建验证码
101 var checkcode = Ext.getDom('checkcode');
102 var checkimage = Ext.get(checkcode.parentNode);
103 checkimage.createChild({
104 tag: 'img',
105 src: 'image/checkcode.gif',
106 align: 'absbottom',
107 style: 'padding-left:23px;cursor:pointer;'
108 });
109 });
110 </script>
111 </head>
112 <body>
113 <!--
114 说明:
115 (1)88行,iconCls: 'loginicon':给窗体加上小图标,样式在第12行定义。
116 (2)Ext.getDom('checkcode'):根据ID获取Dom。
117 (3)Ext.get(checkcode.parentNode):根据Dom获取父节点。
118 (4)checkimage.createChild():创建子节点,标签为<img src='image/checkcode.gif'..../>。
119 (5)form.getForm().isValid():校验表单的验证项是否全部通过。
120 (6)form.getForm().reset():重置表单。
121 -->
122 </body>
123 </html>
2.效果如下:
3.附件如下:
:login.gif
:checkcode.gif
活到老,学到老,练到老...