/**
* @author sux
* @desc 登录
*/
Ext.onReady(function(){
Ext.QuickTips.init(); //错误信息显示必须
var loginForm = new Ext.form.FormPanel({
//title: '用户登录',
width: 290,
height: 300,
labelWidth: 50,
labelAlign: 'right',
defaults: {
width: 210,
layout: 'form',
xtype: 'panel'
},
//renderTo:属性指明属性指示EXT将表格渲染到什么地方,所以在HTML里应该有一个<div id='loginForm'></div>与之对应
renderTo: 'loginForm',
//ext常见布局
//ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor
layout: 'table',
//设置为true时可以为panel添加背景色、圆角边框等,如下图
frame: true, //背景
//指定按钮的位置
buttonAlign: 'center',
bodyStyle: 'padding: 75px 0px 0px 50px; background-image: url(img/login.jpg)',
method: 'post',
//
//选定好layout布局后,其相应的配置属性就在这个对象上进行设置
layoutConfig:{
columns: 2
},
items: [{
items:[{
xtype: 'textfield',
fieldLabel: '用户名', //form布局才显示出labelName
name: 'username',
id: 'indexUserName',
allowBlank: false,//allowBlank:是否允许为空,默认为true
msgTarget: 'side',//提示框位置
blankText: '用户名不能为空',
regex: /^[a-zA-Z0-9_\u4e00-\u9fa5]+$/,
regexText: '不能输入特殊字符'
}],
colspan: 2
},{
items:[{
xtype: 'textfield',
fieldLabel: '密&nbsp;&nbsp;&nbsp;码',
regex: /^[a-zA-Z0-9_\u4e00-\u9fa5]+$/, //字母、数字、汉字、下画线
regexText: '不能输入特殊字符',
name: 'password',
inputType: 'password',
allowBlank: false,
blankText: '用户密码不能为空',
msgTarget: 'side'
}],
colspan: 2
},{
items:[{
xtype: 'textfield',
fieldLabel: '验证码',
blankText: '验证码不能为空',
name: 'validateCode',
allowBlank: false,
msgTarget: 'side',
width: 50,
listeners : {////添加监听事件 可以结合handler测试这两个事件哪个最先执行
specialkey : function(field, e) {//添加回车事件
if (e.getKey() == Ext.EventObject.ENTER) {
loginForm.getForm().getEl().dom.action="user_login.action";////再次设定action的地址
loginForm.getForm().getEl().dom.submit();
}
}
}
}],
width: 120
},{
items:[{
xtype: 'panel',
//:使用组件的html属性嵌入html代码,如果html代码中存在参数可以使用字符串拼接的方式拼接html代码。
html: '<img src="/hrmsys/validate" title="点击刷新" style="cursor:hand" id="validate" onclick="refreshCode()"/>'
}]
},{
layout: 'table',
layoutConfig:{
columns: 2
},
bodyStyle: 'margin-top: 10px;',
colspan: 2,
items: [{
xtype: 'button',
text: '确定',
style: 'margin-left: 30px;',
width: 60,
handler: function(){
loginForm.getForm().getEl().dom.action="user_login.action";
loginForm.getForm().getEl().dom.submit();
}
},{
xtype: 'button',
width: 60,
style: 'margin-left: 10px;',
text: '取消',
handler: function(){//添加事件
loginForm.getForm().reset();
}
}]
}]
});
Ext.getCmp("indexUserName").focus(true, true);//初始化页面后用户名获取焦点
}); function refreshCode(){
Ext.getDom('validate').src="/hrmsys/validate.jsp?code="+Math.random();
}

11.Extjs登录页面js的更多相关文章

  1. 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  2. 29. ExtJs - Struts2 整合(1) - 登录页面

    转自:https://yarafa.iteye.com/blog/729197 初学 ExtJS,在此记录下学习过程中的点点滴滴,以备不时只需,也希望能给跟我一样的菜鸟一些帮助,老鸟请忽略.如有不当之 ...

  3. 原生js验证简洁美观注册登录页面

    序 一个以js验证表单的简洁的注册登录页面,不多说直接上图 效果 主要文件 完整代码 sign_up.html 注册表单 <!DOCTYPE html> <html lang=&qu ...

  4. js登录页面的 回车事件

    js登录页面的 回车事件 js登录页面的 回车事件(2012-12-26 10:37:03)转载▼标签: jseventkey回车事件登录 分类: js.jquery  //回车事件 第一种docum ...

  5. 原生js+css实现重力模拟弹跳系统的登录页面

    今天小颖把之前保存的js特效视频看了一遍,跟着视频敲了敲嘻嘻,用原生js实现一个炫酷的登录页面.怎么个炫酷法呢,看看下面的图片大家就知道啦. 效果图: 不过在看代码之前呢,大家先和小颖看看css中的o ...

  6. Vue.js实现一个SPA登录页面的过程

    技术栈 vue.js 主框架 vuex 状态管理 vue-router 路由管理 一般过程 在一般的登录过程中,一种前端方案是: 检查状态:进入页面时或者路由变化时检查是否有登录状态(保存在cooki ...

  7. Vue.js写一个SPA登录页面的过程

    技术栈 vue.js 主框架 vuex 状态管理 vue-router 路由管理 一般过程 在一般的登录过程中,一种前端方案是: 检查状态:进入页面时或者路由变化时检查是否有登录状态(保存在cooki ...

  8. [Js插件]使用JqueryUI的弹出框做一个“炫”的登录页面

    引言 查看项目代码的时候,发现项目中用到JqueryUi的弹出框,可拖拽,可设置模式对话框,就想着使用它弄一个登录页面. 弹出框 在Jquery Ui官网可定制下载弹出框,下载和弹出框下载相关的js文 ...

  9. 【2017-06-29】在登录页面自动返回上次请求页面、Js获取table中的行数与列数

    一.在登录页面自动返回上次请求页面 Request.UrlReferrer比如 if (Request.UrlReferrer != null) { //如果能获取来路地址 Response.Redi ...

随机推荐

  1. 版本控制git之一 仓库管理 安装 基础

      版本控制git之一-仓库管理 git ​ 再开始这个话题之前,让我想起了一件很痛苦的事情,在我大学写毕业论文的时候,我当时的文件是这样保存的 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业 ...

  2. python 博客开发之散乱笔记

    博客开发之旅: # 回滚,数据存储失败时,还原修改操作 from django.db import transaction with transaction.atomic(): do... ... # ...

  3. AD转换器的主要指标

    AD转换器的主要指标如下: (1)分辨率(Resolution).指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值.分辨率又称精度,通常以数字信号的位数来表示.定义满刻度于2^n的比 ...

  4. Wireshark抓包工具的简单使用2(抓包、查看、过滤)

    在简单了解了Wireshark的界面以及各工具栏的作用后,也要掌握如何进行抓包,查询,过滤等操作 一.抓包 1.打开软件,初始界面 2.点击Caputre-->Interfaces,出现当前所有 ...

  5. 九度oj 题目1056:最大公约数

    题目1056:最大公约数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8068 解决:5317 题目描述: 输入两个正整数,求其最大公约数. 输入: 测试数据有多组,每组输入两个正整数. ...

  6. <<编程之美>> -- 队列中取最大值操作的问题

    不得不说编程之美是一本好书,虽然很多题目在做acm中的过程中遇到过,不过还是有很多值得思考的地方 这是今天在编程之美上看到的一个问题,对于栈转化成队列的一个思考 平时都太过依赖c++内函数库中的栈和队 ...

  7. DRF JWT的用法 & Django的自定义认证类 & DRF 缓存

    JWT 相关信息可参考: https://www.jianshu.com/p/576dbf44b2ae DRF JWT 的使用方法: 1. 安装 DRF JWT # pip install djang ...

  8. Core java for impatient 笔记 ch8 流

    流stream 使用了数据视图,让你可以在比集合更高的概念上指定操作使用流,你只需要将操作的调度留给实现,例如,假设你要计算某个属性的平均值,你只需要指定数据源和属性,然后流类库会优化计算,比如使用多 ...

  9. P1765 手机_NOI导刊2010普及(10)

    P1765 手机_NOI导刊2010普及(10) 题目描述 一般的手机的键盘是这样的: 1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz * 0 ...

  10. MongoDB学习day01--非关系型数据库

    1.数据库和文件的主要区别: 1.1数据库有数据库表/行和列的概念,让我们存储操作数据方便 1.2数据库提供了方便的接口,让java.php..net.nodejs很方便的实现增删改查 2.NoSQL ...