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 页面的更多相关文章

  1. 78.员工个人信息保镖页面 Extjs 页面

    1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...

  2. `<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java

    <jsp:getProperty>动作和<jsp:setProperty>动作的使用 1.<jsp:getProperty>动作 语法格式: <jsp:get ...

  3. js之iframe子页面与父页面通信

    iframe子页面与父页面通信根据iframe中src属性是同域链接还是跨域链接,通信方式也不同. 一.同域下父子页面的通信 父页面parent.html <html> <head& ...

  4. Web设计中打开新页面或页面跳转的方法 js跳转页面

    Web设计中打开新页面或页面跳转的方法 一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx ...

  5. Web设计中打开新页面或页面跳转的方法

    一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx"); 2. 利用url地址打 ...

  6. 嵌入式iframe子页面与父页面js通信方式

    iframe框架中的页面与主页面之间的通信方式根据iframe中src属性是同域链接还是跨域链接,有明显不同的通信方式,同域下的数据交换和DOM元素互访就简单的多了,而跨域的则需要一些巧妙的方式来实现 ...

  7. ionic小白的学习路之目录结构分析、创建组件、创建页面、页面跳转

    一. 目录结构分析 hooks:编译cordova 时自定义的脚本命令,方便整合到我们的编译系统和版本控制系统中. node_modules :node 各类依赖包. resources :andro ...

  8. node.js入门学习(二)MIME模块,request和response对象,demo之不同url请求不同html页面,页面包含图片、样式css等静态资源

    一.构建http服务程序-根据不同请求做出不同响应 // 加载http模块 var http = require("http"); // 创建一个http服务对象 http.cre ...

  9. JS中iframe子页面与父页面之间通信

    iframe子页面与父页面通信根据iframe中src属性是同域链接还是跨域链接,通信方式也不同. 一.同域下父子页面的通信 父页面parent.html <html> <head& ...

随机推荐

  1. php入门学习笔记

    学习笔记[6.5-6.13] 1.常用命令 打开数据库格式: mysql -h主机地址 -u用户名 -p 重启nginx:sudo /etc/init.d/nginx restart或者service ...

  2. codeforces_738C_二分

    C. Road to Cinema time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  3. C# 调用win32API 获取进程句柄 有毛用???

    private void button2_Click(object sender, EventArgs e) { Process[] ProceddingCon = Process.GetProces ...

  4. linux虚拟主机的三种方法

    虚拟主机虚拟主机是将一台(或者一组)服务器的资源(系统资源.网络带宽.存储空间等)按照一定的比例分割成若干相对独立的“小主机”的技术.每一台这样的“小主机”在功能上都可以实现WWW.FTP.Mail等 ...

  5. 微信小程序animation

    wxml <view class="background" animation="{{rotateData}}"> </view>< ...

  6. 微信小程序——weui的使用

    使用在根目录中复制weui.wxss,app.wxss中引入 在weui.io中查看到自己想要的样式表后,到第二个网站复制代码,复制到自己的项目中即可 <!--pages/register/re ...

  7. Python 内置函数 day4

    import random s = 'abczfg' st= {3,4,9,1,8} print(dir(random))#打印模块内的方法,输出模块/变量可以调用的方法 print(dir(s))# ...

  8. C语言比较好的风格梳理

    errno int err; tb = malloc(sizeof(struct xtracer_table)); if (!tb) { err = errno; fprintf(stderr, &q ...

  9. Array的内置方法思维导图整理(JavaScript)

    按照MDN整理的数组部分的思维导图,主要目的是方便查漏补缺,所以写的不是很详细.

  10. 5 pandas模块,DataFrame类

              DataFrame       DataFrame是一个[表格型]的数据结构,可以看作是[由Series组成的字典](共用同一个索引).DataFrame由一定顺序排列的多列数据组 ...