`
huiqinbo
  • 浏览: 344632 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

无废话ExtJs 教程七[登陆窗体Demo:Login]

 
阅读更多

在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下。

1. index.jsp代码如下:

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>My JSP 'index.jsp' starting page</title>

	<!--ExtJs框架开始-->
	<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" type="text/css" href="Ext/resources/css/ext-all.css" />
	<!--ExtJs框架结束-->	
	<!-- 	 
	<script type="text/javascript" src="study/helloWorld.js"></script>
	<script type="text/javascript" src='study/window.js'></script>
	<script type="text/javascript" src='study/formPanel.js'></script>
	<script type="text/javascript" src='study/textField.js'></script>
	<script type="text/javascript" src='study/button.js'></script>
	-->	
	<!--调用/study/login.js 实现登陆  -->
	<script type="text/javascript" src='study/login.js'></script>
	
	<style type="text/css">
		.loginicon
		{
			background-image: url(study/login.gif) !important;
		}
	</style>
	
  </head>  
  <body>
  <br>
  </body>
</html>

 

 

 

2. login.js代码如下:

 

Ext.onReady(function(){
	
	//初始化标签中的Ext:Qtip属性; 目的是当TextField的数据出错时,在其旁边进行警号!提示
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = 'side';

	var submit = function(){
		//通常发送到服务器端获取返回值再进行处理,我们在以后的教程中再讲解表单与服务器的交互问题。
		if(form.getForm().isValid()){
			//Ext.MessageBox.alert('This is the submit button alert..');
			Ext.Msg.alert("Prompt", "login successfully!");
		}
	}
	
	var refresh = function(){
		//Ext.MessageBox.alert('This is the refresh button alert..');
		form.getForm().reset();
	}
	
	
	var form =  new Ext.FormPanel({
				//title:'Form',
				style:'margin:10px',
				//The width of labels in pixels
				labelWidth:59,
				bodyStyle:'padding:6px 0px 0px 15px',
				frame:true,
				//html:'This is the form part..',
				items:[
					//Username input
					new Ext.form.TextField({
						fieldLabel:'Username',
						width:140,
						height:23,
						allowBlank:false,
						blankText: 'Please type the username..'
					}),
					
					//Password input
					new Ext.form.TextField({
						fieldLabel:'Password',
						inputType:'password',
						width:140,
						height:23,
						allowBlank:false,
						blankText:'Please type the password..',
						maxLength:5,
						maxLengthText:'Please do not more than 4 character..'
					}),
					
					//CheckCode input
					new Ext.form.TextField({
						id: 'checkcode',
						fieldLabel:'Verification',
						width:76,
						allowBlank:false,
						blankText:'Please type the verificate code..',
						maxLength:4,
						maxLengthText:'Please do not more than 4 character..'
					})
				],
				buttonAlign:'center',
				//Button 
				buttons:[
					new Ext.Button({
						text:'Submit',
						handler:submit
					}),
					new Ext.Button({
						text:'Refresh',
						listeners:{mouseover:refresh}
					})
				]
		});
	
	//Window
	new Ext.Window({
		title:'Window',
		width:297,
		height:197,
		iconCls:'loginicon',
		//Plain is the window body transparent or lighter background.
		plain:true,
		//Resizable to determine whether the window size can be changed.
		resizable:false,
		//Shadow to determine whether the window have the shadow
		shadow:true,
		//Modal to determine whether the window is modal.
		modal:true,
		closable:false,
		maximizable:true,
		minimizable:true,
		items:form
	}).show();
	
	var checkcode = Ext.getDom('checkcode');
	var checkimage = Ext.get(checkcode.parentNode);
	checkimage.createChild({
		tag:'img',
		src:'study/checkcode.gif',
		align:'absbottom',
		style:'padding-left:18px;cursor:pointer;'
	});
});

 

 

 

说明1:

 

(1)88行,iconCls: 'loginicon':给窗体加上小图标,样式在第12行定义。
(2)Ext.getDom('checkcode'):根据ID获取Dom。
(3)Ext.get(checkcode.parentNode):根据Dom获取父节点。
(4)checkimage.createChild():创建子节点,标签为<img src='image/checkcode.gif'..../>。
(5)form.getForm().isValid():校验表单的验证项是否全部通过。
(6)form.getForm().reset():重置表单。

 

 

3. 效果如下:



 

  • 大小: 188.7 KB
  • 大小: 1 KB
  • 大小: 1.2 KB
分享到:
评论

相关推荐

    无废话ExtJs 系列教程十八[继承:Extend]

    在"无废话ExtJS系列教程十八[继承:Extend]"中,我们主要关注的是ExtJS中的类继承机制,这是一个核心特性,它允许开发者创建可复用和可扩展的组件结构。在JavaScript中,继承是通过原型链实现的,而在ExtJS中,它被...

    无废话ExtJs 教程十[下拉列表:Combobox]

    本教程将深入探讨ExtJS中的Combobox组件,包括其基本用法、配置选项、事件处理和自定义功能。 1. **Combobox的基本结构** - Combobox由两个主要部分组成:文本输入框和下拉列表。用户可以在输入框中键入文字,或者...

    无废话ExtJs 教程十二[员工信息表Demo:AddUser]

    标题中的“无废话ExtJs 教程十二[员工信息表Demo:AddUser]”表明这是一个关于ExtJs的实战教程,具体是实现一个员工信息表的添加用户(AddUser)功能。ExtJs是一款强大的JavaScript库,主要用于构建桌面级的Web应用...

    无废话ExtJs 系列教程十五[树:TreePanel]

    《无废话ExtJs系列教程十五:树:TreePanel》 ExtJs是一个强大的JavaScript库,用于构建富客户端Web应用。在本教程中,我们将深入探讨一个重要的组件——TreePanel,它是ExtJs用来展示层次结构数据的工具,常用于...

    无废话ExtJs 系统教程十四[列表:GridPanel]

    在"无废话ExtJS 系统教程十四[列表:GridPanel]"中,我们将会深入探讨如何有效地使用GridPanel来创建高效的、功能丰富的数据列表。 GridPanel是ExtJS中的核心组件之一,它允许用户以表格形式展示大量数据,并支持...

    无废话ExtJs 系列教程十三[页面布局:Layout]

    NULL 博文链接:https://huiqinbo.iteye.com/blog/2217105

    EXTJS3.0登陆DEMO

    EXTJS3.0登录DEMO是一个基于EXTJS框架的示例项目,展示了如何将EXTJS与STRUTS2、SPRING和IBATIS等流行Java技术整合,构建一个完整的Web应用程序。EXTJS是一个用于创建富客户端界面的JavaScript库,而STRUTS2、SPRING...

    无废话ExtJs 系统教程十九[动态复选框:RemoteCheckboxGroup]

    总之,"无废话ExtJs 系统教程十九[动态复选框:RemoteCheckboxGroup]"是一个帮助开发者掌握如何在ExtJS应用中实现动态复选框组件的资源。通过学习和实践,你可以创建出更加灵活和高效的用户界面,同时利用源码和工具...

    Extjs4的demo

    ExtJS 是一个强大的JavaScript库,专门用于构建富客户端的Web应用程序。在本示例中,我们专注于ExtJS 4.0版本,这是一个功能丰富的框架,提供了丰富的组件、布局管理和数据绑定等功能。 首先,要开始学习ExtJS 4,...

    extjs教程,extjs教程,extjs教程

    extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程

    extjs-2.0.2-demo-all

    ExtJs Demo100个演示Demo

    ExtJS教程_完整版

    ExtJS教程全面介绍了ExtJS框架的基本功能和高级特性,适用于有Web开发经验的开发者,尤其是希望快速构建丰富用户界面的人员。ExtJS是一个基于JavaScript的开源前端框架,它提供了丰富的用户界面组件和数据处理机制,...

    extjs+demo+api

    "extjs+demo+api"这个标题暗示了我们将探讨ExtJS的示例、演示以及其API的使用。 在ExtJS的API中,包含了众多类、方法和配置选项,这些构成了其核心功能。例如,`Ext.Component`是所有UI组件的基础,包括按钮、面板...

    extjs的一些demo

    extjs的经典标签,表单等案例,学习extjs前端框架的基础

    ExtJs3.2综合应用的例子:云计算管理平台

    有人说缺一个综合应用的例子,补发一个上来(ExtJs3.2综合应用的例子:云计算管理平台)。这个例子涉及到以下主题: 1.如何划分系统模块; 2.如何扩展组件; 3.基本组件Viewport、TreePanel、GridPanel用法。

    extjs5官方demo

    http://【localhost:5012/web】/Extjs5Demo/build/examples/index.html 【】内,输入Extjs5Demo在服务器上的地址,即可看到官方文档

    extjs分割窗体的例子

    使用extjs做的一个分割窗体的例子,入门型的,

Global site tag (gtag.js) - Google Analytics