`
lingyibin
  • 浏览: 199464 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Extjs复习笔记(八)--登陆框

阅读更多

之前有一篇博客展示了一个图书管理系统,接下来的几篇博客将会解析其中的一些重点。

这个系统是由五个框架做成的:Extjs + DWR + Spring + Struts + Hibernate 。后面三个,SSH三大框架想必大家都比较熟了,这里就不再讲了。之后的几篇Ext博客,重点是讲前两个。


 

var loginPanel =
	new Ext.form.FormPanel({
		title:"用户登录",
		id:"loginpanel",
		frame:true, //没有这句的话 中间部分的背景与周围不相称
		width:310,
		height:210,
		renderTo:"login_field", //绑定到页面中的一个div上
		items:[
			{
               xtype:"fieldset",
               title:"登录框",
               collapsible:true, //出现了下图中“登陆框”这几个字左边的那个用于收缩的小三角形按钮
               autoHeight:true,//自动调整高度
               width:300,
               defaults:{width:150},
               defaultType:"textfield",
	           style:"text-align:left", //让文字左对齐
               items:[
                  {
                    fieldLabel:"用户帐号",
                    name:"name",
                    id:"name",
                    allowBlank:false, //有了这句话,当用户此textfield留空时会画红线并不让提交
                    blankText:"用户名不能为空!", //当上一句情况出现时进行提醒文字
                    anchor:"90%" //此属性一般用于FormPanel中,表示占了这个form宽度的百分之几
                  },
                  {
                    fieldLabel:"用户密码",
                    inputType:"password", //输入类型为密码
                    name:"psw",
                    id:"psw",
                    allowBlank:false,
                    blankText:"用户密码不能为空!",
                    anchor:"90%"
                  },
                  {
                   fieldLabel:"用户身份",
                   xtype:"combo",
                   id:"status_id",
                   width:145,
                   editable:false, //不可编辑
                   store:[['0','管理员'],['1','读者']],//数据源是一个数组
                   hiddenName:'status',//这里千万不要与id同名,不然服务器接收的值异常。
				   emptyText:"请选择登录身份",
                   allowBlank:false,
                   blankText:"用身份不能为空,请选择!",
                   triggerAction:"all"//每次选中一项,之后再选也会将所有列表显示出来。
                  }
               ]
            }
		],
		buttons:[
            {
            xtype:"button",
            text : '登录',
            cls:"x-btn-text-icon", //换一个图标,x-btn-text-icon的定义很可能在css里面
			clearCls:'allow-float',//允许浮动
			itemCls:'float-left',//向左浮动,类似于css中的float:left
	        handler : function() {
	            if (loginPanel.form.isValid()) { //表单合法
	                    loginPanel.form.submit( {
	                        url : 'login.do', //这个表单数据发送的地址,这里交给struts去处理
	                        success : function(from, action) { //当服务器接收并处理成功时触发的事件
	                          Ext.get('loginpanel').remove(); //去掉登陆框,避免内存的浪费
	                          window.location.href='pages_share/main.html';//地址跳转
	                        },
	                        failure : function(form, action) { //当服务器处理失败时触发的事件
	                           Ext.MessageBox.show({//记住这种写法,很规范!
			                    	title:"登录失败",
			                    	msg:"登录失败!请认真检查您的姓名密码及身份。",
			                    	icon:Ext.MessageBox.ERROR, 
			                    	buttons:{"ok":"确定"}
			                    });
	                        },
	                        waitMsg : '正在登录,请耐心等候...'  //加载时显示的信息,这将以模态的方式显示,效果不错!
	                    });
	                   // dialog.hide();
                } else { //提交信息本地验证没通过
                    Ext.MessageBox.show({
                    	title:"警告",
                    	msg:"请填写完登录信息再提交!",
                    	icon:Ext.MessageBox.WARNING,
                    	buttons:{"ok":"确定"}
                    });
                }
	        }
          },
          {
            xtype:"button",
            text : '重置',
            cls:"x-btn-text-icon",
            //icon:"images/reset_btn.gif",
			clearCls:'allow-float',//允许浮动
			itemCls:'float-left',//向左浮动
	        handler : function() {
	            loginPanel.form.reset(); //重置该form里面的所有输入框
	        }
          }
		]
	});

 不多解释,每一个新的内容后面我都加了注释。。。

  • 大小: 7 KB
  • 大小: 6.2 KB
0
1
分享到:
评论

相关推荐

    Extjs复习笔记(十八)-- TreePanel

    在本篇ExtJS复习笔记中,我们聚焦于TreePanel组件,它是ExtJS库中的一个核心组件,用于构建可扩展的树形结构数据视图。TreePanel不仅提供了展示层级关系的数据模型,还支持交互操作,如节点的选择、展开与折叠等。在...

    Extjs复习笔记(十一)--换肤

    在EXTJS框架中,换肤是一项重要的功能,它允许开发者根据用户需求或品牌风格改变应用程序的外观和感觉。本文将深入探讨EXTJS的换肤机制,以及如何利用提供的主题CSS文件实现这一特性。 EXTJS是一个强大的JavaScript...

    Extjs复习笔记(二十)-- tree和grid结合

    在"Extjs复习笔记(二十)-- tree和grid结合"这篇博文中,博主探讨了如何在EXTJS中实现树形视图(Tree)与网格视图(Grid)的融合。 Tree组件在EXTJS中通常用于显示具有层级关系的数据,例如文件系统、组织架构等。...

    Extjs复习笔记(十七)-- 给grid里面的内容分组

    本篇复习笔记将聚焦于EXTJS Grid中的一个重要特性——内容分组,帮助你深入理解如何实现这一功能。 内容分组在EXTJS Grid中允许你将数据按照特定字段进行分类,这样可以更清晰地组织和展示数据。这在处理大量数据时...

    Extjs复习笔记(十五)-- JsonReader

    在“Extjs复习笔记(十五)-- JsonReader”这篇博文中,博主探讨了ExtJS中的JsonReader,这是数据绑定和JSON数据解析的关键部分。 JsonReader是ExtJS数据包(Ext.data)的一部分,用于从服务器获取JSON格式的数据,...

    Extjs复习笔记(十九)-- XML作为tree的数据源

    在本文中,我们将深入探讨ExtJS中的一个关键概念——如何使用XML作为TreePanel的数据源。ExtJS是一个强大的JavaScript库,用于构建复杂的Web应用程序,而TreePanel则是它的一个组件,用于展示层次结构的数据,通常...

    extjs+韩顺平—玩转oracle视频教程笔记

    "韩顺平—玩转oracle视频教程笔记.doc"文档很可能是对视频课程的总结和笔记,包含关键知识点和案例分析,是你复习和巩固Oracle知识的好帮手。它可能包括了视频中的重点讲解,例如SQL语法、数据库设计原则、EXTJS在...

    jQuery上学时候的笔记(私人珍藏,全是精华)

    对于初学者而言,整理这样一份包含核心知识点的笔记是一个非常好的学习方法,有助于巩固和复习知识。而对于有经验的开发者,这样的笔记也能作为一种工具书,在遇到具体问题时快速找到解决方案。

Global site tag (gtag.js) - Google Analytics