83.个人信息维护页面 Extjs 页面
1
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>角色</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
var username = "${user.userName}";
var updateFormPanel = new UpdateFormPanel(username);
var width = Ext.getCmp('mainTab').getActiveTab().getInnerWidth();
var height = Ext.getCmp('mainTab').getActiveTab().getInnerHeight();
var activeTab = Ext.getCmp('updateFormId');
if(activeTab){
activeTab.setWidth(width);
activeTab.setHeight(height);
}
activeTab.render('updateDiv');
</script> </head>
<body>
<div id="updateDiv" ></div>
</body>
</html>
2.
Ext.namespace("hrmsys.user.updatePwd");
var userMark1 = true;
var userMark2 = true;
var userMark3 = true;
UpdateFormPanel = Ext.extend(Ext.form.FormPanel, {
id: 'updateFormId',
constructor: function(username){
Ext.form.Field.prototype.msgTarget = 'side';
Ext.QuickTips.init();
UpdateFormPanel.superclass.constructor.call(this, {
style: 'margin-left: 30%; margin-top: 5%',
items: [{
width: 500,
xtype: 'fieldset',
title: '用户信息修改',
labelAlign: 'right',
labelWidth: 60,
layout: 'form',
padding: '10 0 0 110',
items: [{
xtype: 'textfield',
fieldLabel: '用户名',
id: 'userName',
value: username,
allowBlank: false,
name: 'user.userName',
blankText: '不能为空',
emptyText: '不能为空'
},{
xtype: 'textfield',
fieldLabel: '原密码',
id: 'oldPassword',
allowBlank: false,
blankText: '不能为空',
//validator: validatePassword
listeners: {'blur': validatePassword}
},{
xtype: 'textfield',
fieldLabel: '用户密码',
name: 'user.userPwd',
inputType: 'password',
id: 'pwd',
allowBlank: false,
blankText: '不能为空',
listeners: {'blur': pwd_blurFn}
},{
xtype: 'textfield',
fieldLabel: '再次输入',
inputType: 'password',
allowBlank: false,
blankText: '不能为空',
id: 'rePwd',
listeners: {'blur': rePwd_blurFn}
}],
buttonAlign: 'center',
buttons: [{
text: '确定',
handler: this.saveSuccessFn
},{
text: '取消',
handler: function(){
Ext.getCmp('updateFormId').getForm().reset();
}
}]
}]
})
},
saveSuccessFn: function(){
var form = Ext.getCmp('updateFormId').getForm();
rePwd_blurFn();
pwd_blurFn();
validatePassword();
//判断校验是否通过,在ff下校验失败会阻止提交,在ie需自己判断
if(form.isValid() && userMark1 && userMark2 && userMark3){
form.submit({
url: 'user_updatePwd.action',
success: function(form, action){
Ext.Msg.alert('提示', action.result.msg, function(){
form.reset();
})
},
failure: save_failure
});}
}
});
rePwd_blurFn = function(){
var pwd = Ext.getDom('pwd').value;
var rePwd = Ext.getDom('rePwd').value;
if(pwd != rePwd && pwd != ""){
userMark2 = false;
Ext.getCmp('rePwd').markInvalid('两次输入的密码不相同');
}
userMark = true;
if(pwd == rePwd){
userMark2 = true;
Ext.getCmp('rePwd').clearInvalid();
Ext.getCmp('pwd').clearInvalid();
}
};
pwd_blurFn = function(){
var pwd = Ext.getDom('pwd').value;
var rePwd = Ext.getDom('rePwd').value;
if(rePwd != "" && pwd != rePwd){
userMark3 = false;
Ext.getCmp('pwd').markInvalid('两次输入的密码不相同');
}
if(pwd == rePwd){
userMark3 = true;
Ext.getCmp('rePwd').clearInvalid();
Ext.getCmp('pwd').clearInvalid();
}
};
validatePassword = function(){
var oldPassword = Ext.getDom("oldPassword").value;
Ext.Ajax.request({
url: 'user_validatePwd.action',
params: {
oldPassword: oldPassword
},
success: function(response, options){
var datas = Ext.util.JSON.decode(response.responseText);
if(datas.msg == false){
userMark1 = false;
Ext.getCmp("oldPassword").markInvalid("原密码不正确");
}else{
userMark1 = true;
}
}
})
}
83.个人信息维护页面 Extjs 页面的更多相关文章
- 78.员工个人信息保镖页面 Extjs 页面
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...
- `<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
<jsp:getProperty>动作和<jsp:setProperty>动作的使用 1.<jsp:getProperty>动作 语法格式: <jsp:get ...
- js之iframe子页面与父页面通信
iframe子页面与父页面通信根据iframe中src属性是同域链接还是跨域链接,通信方式也不同. 一.同域下父子页面的通信 父页面parent.html <html> <head& ...
- Web设计中打开新页面或页面跳转的方法 js跳转页面
Web设计中打开新页面或页面跳转的方法 一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx ...
- Web设计中打开新页面或页面跳转的方法
一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx"); 2. 利用url地址打 ...
- 嵌入式iframe子页面与父页面js通信方式
iframe框架中的页面与主页面之间的通信方式根据iframe中src属性是同域链接还是跨域链接,有明显不同的通信方式,同域下的数据交换和DOM元素互访就简单的多了,而跨域的则需要一些巧妙的方式来实现 ...
- ionic小白的学习路之目录结构分析、创建组件、创建页面、页面跳转
一. 目录结构分析 hooks:编译cordova 时自定义的脚本命令,方便整合到我们的编译系统和版本控制系统中. node_modules :node 各类依赖包. resources :andro ...
- node.js入门学习(二)MIME模块,request和response对象,demo之不同url请求不同html页面,页面包含图片、样式css等静态资源
一.构建http服务程序-根据不同请求做出不同响应 // 加载http模块 var http = require("http"); // 创建一个http服务对象 http.cre ...
- JS中iframe子页面与父页面之间通信
iframe子页面与父页面通信根据iframe中src属性是同域链接还是跨域链接,通信方式也不同. 一.同域下父子页面的通信 父页面parent.html <html> <head& ...
随机推荐
- [Windows Server 2003] 网页Gzip压缩
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:启用网站GZI ...
- Ubuntu 关闭guest用户
Ubuntu 关闭guest用户 ca0gu0@ub:~$ cat /etc/lightdm/lightdm.conf [SeatDefaults]autologin-user=falseallow- ...
- VBA/VBScript提取Word(*.doc)文件中包含的图片(照片)
VBA/VBScript提取Word(*.doc)文件中包含的图片(照片) 要处理的人事简历表是典型的Word文档,其中一人一份doc,里面包含有个人的照片,如果要把里面的照片复制出来就比较麻烦了 ...
- %2d
%2d是C语言中printf函数的输出格式说明符. 具体解释如下: 使输出的int型的数值以2位的固定位宽输出.如果不足2位,则在前面补空格:如果超过2位,则按实际位数输出. 注:如果输出的数值不是i ...
- PAT-day1
1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ( 3n+1)砍掉一半.这样一直 ...
- node版本管理工具nvm安装使用教程
一些安装包依赖一定的node版本,可以采用nvm管理node, 可以快速的进行版本切换. 操作系统: windows10, x64 常见版本工具: 1. nvmw, nvmm install node ...
- 【原创】基于NodeJS Express框架开发的一个VIP视频网站项目及源码分享
项目名称:视频网站项目 开发语言:HTML,CSS(前端),JavaScript,NODEJS(expres)(后台) 数据库:MySQL 开发环境:Win7,Webstorm 上线部署环境:Linu ...
- JavaScript 复杂判断的优雅写法
JavaScript 复杂判断的优雅写法 <div> <input type="button" name="btn" value=" ...
- THUSC2019 退役记
Day -inf 这一个半月潜心搞文化课,把文化课的坑填上了不少,我文化课的底子真是薄啊 一年前没想过我还挺有希望进队的,最后还差点冲上 一年后说不定会发现我搞文化课也能搞得不错呢? 一切都是未知 t ...
- unigui的菜单树补习【2】treeview
Treeview用于显示按照树形结构进行组织的数据. Treeview控件中一个树形图由节点(TreeNode)和连接线组成.TtreeNode是TTreeview的基本组成单元. ...