在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下。
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. 效果如下:
相关推荐
在"无废话ExtJS系列教程十八[继承:Extend]"中,我们主要关注的是ExtJS中的类继承机制,这是一个核心特性,它允许开发者创建可复用和可扩展的组件结构。在JavaScript中,继承是通过原型链实现的,而在ExtJS中,它被...
本教程将深入探讨ExtJS中的Combobox组件,包括其基本用法、配置选项、事件处理和自定义功能。 1. **Combobox的基本结构** - Combobox由两个主要部分组成:文本输入框和下拉列表。用户可以在输入框中键入文字,或者...
标题中的“无废话ExtJs 教程十二[员工信息表Demo:AddUser]”表明这是一个关于ExtJs的实战教程,具体是实现一个员工信息表的添加用户(AddUser)功能。ExtJs是一款强大的JavaScript库,主要用于构建桌面级的Web应用...
《无废话ExtJs系列教程十五:树:TreePanel》 ExtJs是一个强大的JavaScript库,用于构建富客户端Web应用。在本教程中,我们将深入探讨一个重要的组件——TreePanel,它是ExtJs用来展示层次结构数据的工具,常用于...
在"无废话ExtJS 系统教程十四[列表:GridPanel]"中,我们将会深入探讨如何有效地使用GridPanel来创建高效的、功能丰富的数据列表。 GridPanel是ExtJS中的核心组件之一,它允许用户以表格形式展示大量数据,并支持...
NULL 博文链接:https://huiqinbo.iteye.com/blog/2217105
EXTJS3.0登录DEMO是一个基于EXTJS框架的示例项目,展示了如何将EXTJS与STRUTS2、SPRING和IBATIS等流行Java技术整合,构建一个完整的Web应用程序。EXTJS是一个用于创建富客户端界面的JavaScript库,而STRUTS2、SPRING...
总之,"无废话ExtJs 系统教程十九[动态复选框:RemoteCheckboxGroup]"是一个帮助开发者掌握如何在ExtJS应用中实现动态复选框组件的资源。通过学习和实践,你可以创建出更加灵活和高效的用户界面,同时利用源码和工具...
ExtJS 是一个强大的JavaScript库,专门用于构建富客户端的Web应用程序。在本示例中,我们专注于ExtJS 4.0版本,这是一个功能丰富的框架,提供了丰富的组件、布局管理和数据绑定等功能。 首先,要开始学习ExtJS 4,...
extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程,extjs教程
ExtJs Demo100个演示Demo
ExtJS教程全面介绍了ExtJS框架的基本功能和高级特性,适用于有Web开发经验的开发者,尤其是希望快速构建丰富用户界面的人员。ExtJS是一个基于JavaScript的开源前端框架,它提供了丰富的用户界面组件和数据处理机制,...
"extjs+demo+api"这个标题暗示了我们将探讨ExtJS的示例、演示以及其API的使用。 在ExtJS的API中,包含了众多类、方法和配置选项,这些构成了其核心功能。例如,`Ext.Component`是所有UI组件的基础,包括按钮、面板...
extjs的经典标签,表单等案例,学习extjs前端框架的基础
有人说缺一个综合应用的例子,补发一个上来(ExtJs3.2综合应用的例子:云计算管理平台)。这个例子涉及到以下主题: 1.如何划分系统模块; 2.如何扩展组件; 3.基本组件Viewport、TreePanel、GridPanel用法。
http://【localhost:5012/web】/Extjs5Demo/build/examples/index.html 【】内,输入Extjs5Demo在服务器上的地址,即可看到官方文档
使用extjs做的一个分割窗体的例子,入门型的,