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& ...
随机推荐
- 关于java 关键字enum不识别的解决办法
从别人那儿拷贝过来的myeclipse java工程,打开一看标红了一大片,仔细一看,原来是不识别enum关键字,这就有点尴尬了. 我自己重新建了一个java工程,测试了下,假如我在新建工程的时候选择 ...
- 05--QT常用的类
http://blog.csdn.net/HMSIWTV/article/category/1128561/2 Qt常用类(1)—— 开端 使用Qt进行编程必须对 Qt 中常用的类有一定的 ...
- python基础--字符串操作、列表、元组、文件操作
一.变量及条件判断 1.字符串.布尔类型.float.int类型,None都是不可变变量 2.字符串是不可变变量,不可变变量就是指定义之后不能修改它的值 3.count +=1和count=count ...
- 为.net mvc core 启用 https
引用nuget包:Microsoft.AspNetCore.Server.Kestrel.Https这是一个服务器测试ssl密钥,密码如代码里面所示 using System; using Syste ...
- js的三种对象
JS中,可以将对象分为“内部对象”.“宿主对象”和“自定义对象”三种. 1,内部对象 js中的内部对象包括Array.Boolean.Date.Function.Global.Math.Number. ...
- 聊聊JS动画库:Velocity.js
前言 又到了炎热的7月,很久没有更新技术文章了,原因是上月月底实习结束,从公司离职.然后最近在弄自己的项目和考驾照,为了下次公司的应聘做准备,送别了女朋友到外地,哩哩啦啦半个月把一切事情都办妥后,还是 ...
- 基于owncloud构建私有云储存网盘
注意事项:需要ping通外网 需要LAMP架构yum -y install httpd php php-mysql mariadb-server mariadb sqlite php-dom php- ...
- IDEA 基本配置
idea使用基本配置 1配置JDK开发环境 File->project structure: 2取消自动更新 file->setting:Appearance &Behavior下 ...
- 内核调试-ftrace introduction
ftrace https://www.ibm.com/developerworks/cn/linux/l-cn-ftrace1/ https://www.ibm.com/developerworks/ ...
- js里的深度克隆
ES6 数组克隆 let arr = [1,2,3,4,5]; let arr1 = [...a]; arr1 = ["a","b","c" ...