前台:
<title>modify approver Password</title>
<script type="text/javascript">
$(document).ready(function(){
var oldPass = $("#oldPassword");
var pass = $("#password");
var rePass = $("#rePassword");
$("#content").hide("slow");
//检查要提交的修改密码表单
$("#passForm").submit(function() {
//flag用于判断是否提交表单
var flag = false;
if(oldPass.val() == '') {
alert("请输入您的原始密码!");
oldPass[0].focus();
return false;
}else if(rePass.val() != pass.val()){
$("#content").show("slow");
rePass[0].focus();
return false;
}else if(rePass.val() == '' || pass.val() == ''){
alert("请输入您的新密码!");
return false;
}else{
$.ajax({
type : 'GET',
contentType : 'application/json',
url : '${ctx}/approverPassword/checkPassword.do',
data: 'oldPass=' + oldPass.val(),
dataType : 'text',
//同步
async : false,
success : function(data) {
if("false" == data) {
alert("原始密码输入错误!");
oldPass.val('');
oldPass[0].focus();
flag = false;
}else if("true" == data) {
flag = true;
}
},
error : function() {
alert("修改密码错误,请重新输入");
flag = false;
}
});
}
/* if(flag) {
alert("密码修改成功,请您重新登录!");
} */
return flag;
});
});
</script>
</head>
<body>
modify approver password.<br/>
<form action="${ctx}/approverPassword/modifyUserPassword.do" id="passForm" name="passForm" method="post">
<table>
<tr><td><input type="hidden" id="userId" name="userId" value="${user.id }"> </td></tr>
<tr>
<td>原始密码:</td>
<td><input type="text" id="oldPassword" name="oldPassword" maxlength="20"/> </td>
</tr>
<tr>
<td>新密码:</td>
<td><input type="password" id="password" name="password" maxlength="20"/></td>
</tr>
<tr>
<td>再次输入新密码:</td>
<td>
<input type="password" id="rePassword" name="rePassword" maxlength="20" />
<span id="content" style="font-size: 12px; color:red;">两次输入的密码不一样</span>
</td>
</tr>
<tr>
<td><input type="submit" id="submit" name="submit" value="submit"/></td>
<td><input type="button" id="cancel" name="cancel" value="cancel"/></td>
</tr>
</table>
</form>
</body>
后台:
/**
* check User password
* @param request
* @param response
* @return ModelAndView
*/
@RequestMapping(value="/userPassword/checkPassword", method={RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public String checkPassword(@RequestParam("oldPass") String oldPass) {
String flag1 = "false";
//取得当前用户的密码
long id = SecurityUtil.getUserSession().getId();
User user = userService.findById(id);
String password = user.getPassword();
//从界面接收的旧密码
String oldPassword = Md5.createMD5Password(oldPass);
//两个密码进行比较
if(oldPassword.equals(password)) {
flag1 = "true";
}else{
flag1 = "false";
}
return flag1;
}
/**
* modify user password
* @return ModelAndView
*/
@RequestMapping(value="/userPassword/modifyUserPassword", method={RequestMethod.GET, RequestMethod.POST})
public ModelAndView modifyUserPassword(HttpServletRequest request, HttpServletResponse response) {
ModelAndView mv = new ModelAndView("redirect:/login/goIndexPage.do");
ModelAndView mv1 = new ModelAndView("passwordError");
//获取参数
String oldPass = request.getParameter("oldPassword");
long id = Long.valueOf(request.getParameter("userId"));
String password = request.getParameter("rePassword");
//对String类型的密码进行Md5加密
String Md5Password = Md5.createMD5Password(password);
//得到要修改的实体
User user = userService.findById(id);
//根据user实体user1在表user_access_role表中查找一个UserAccessRole实体 1(user):1(accessRole)
List<UserAccessRole> list = this.userAccessRoleService.getAccessRoleId("user", user);
//从list<UserAccessRole>取出实体accessRole
AccessRole accessRole = list.get(0).getAccessRole();
//得到实体accessRole的角色名name id
String roleName = accessRole.getName();
long roleId = accessRole.getId();
user.setPassword(Md5Password);
//判断权限
if(roleId == userAccessRoleService.USER_ACCESS_ROLE_ID && "true".equals(this.checkPassword(oldPass))) {
//1.修改pccw_iaas表中的userPassword
userService.merge(user);
//2.修改cloud表中的userPassword
cloudStackUserService.modifyCloudStackUserPassword(user.getCloudUserId(), user.getUserName(), Md5Password);
return mv;
}else {
return mv1;
}
}
分享到:
相关推荐
本文将深入探讨如何使用jQuery的ajax方法来提交表单,从而实现异步数据交换,提高用户体验。 首先,jQuery的$.ajax()函数是进行Ajax请求的核心,它允许我们与服务器进行异步数据通信。在“使用jQuery ajax提交表单...
本教程将详细讲解如何利用jQuery、jQuery Form插件以及Spring MVC框架来实现Ajax提交表单并上传图片。通过这种方式,用户无需等待页面刷新,即可完成操作,提升了交互性。 首先,`jquery.js` 是jQuery库的核心文件...
AjaxForm是jQuery Form Plugin的一个功能,用于实现异步表单提交,特别是处理包含图片在内的复杂数据。本文将深入探讨如何使用ajaxForm进行异步表单提交。 首先,让我们了解什么是Ajax。AJAX(Asynchronous ...
总结来说,jQuery Form插件是提升Web应用表单交互体验的强大工具,它简化了Ajax提交表单的流程,同时提供了丰富的自定义选项和事件处理,使开发者能够轻松处理复杂的表单提交场景。结合后端处理,如`submit.php`,...
总结一下,jQuery.form插件通过提供简单的API和强大的功能,极大地简化了表单异步提交的实现。通过理解并熟练运用这些方法,你可以创建出更高效、用户体验更佳的Web应用。无论是在简单的数据提交还是复杂的文件上传...
在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互等任务。...理解这些概念和用法,能够帮助开发者在jQuery 1.3.2或其他版本中高效地实现表单的Ajax提交。
本文将深入探讨“jQuery异步提交form表单”这一主题,结合给出的标签“源码”和“工具”,我们将分析相关源码,并提供实际应用中的指导。 在传统的HTML表单提交过程中,页面会跳转到服务器返回的结果页面,这在用户...
`ajaxForm()` 和 `ajaxSubmit()` 方法都是 JQuery Form 插件的一部分,它们可以用来处理表单的提交动作,实现 AJAX 异步提交。 - **`ajaxForm()` 方法**:此方法用于将表单的默认提交行为替换为 AJAX 提交行为。...
总结来说,利用jQuery的AJAX和Spring MVC,我们可以实现前端表单的无刷新提交,提高用户体验,同时在后台进行数据处理。这种技术广泛应用于现代Web应用中,特别是在需要实时交互和数据更新的场景下。通过理解并实践...
这个例子展示了如何通过jQuery简化Form表单的AJAX提交,使得代码更易于理解和维护。此外,还可以在`ajaxSubmit`调用前进行表单验证,以确保提交的数据有效。同时,jQuery提供了丰富的插件和API,如`$.validate`用于...
**jQuery与Ajax无刷新提交表单** 在网页开发中,jQuery和Ajax技术的结合使得用户交互体验得到了极大的提升。"jQuery Ajax无刷新提交表单并执行邮件通知"这个主题涉及了两个关键点:一是利用jQuery进行表单验证,二...
2. **jQuery监听表单提交**:使用jQuery,我们可以监听表单的提交事件,比如`$('form').submit(function(event) { ... })`,阻止默认的表单提交行为(防止页面跳转),并开始执行AJAX请求。 3. **AJAX请求**:使用...
2. **使用jQuery的Ajax方法提交表单** 转换后的数据可以与jQuery的`$.ajax()`或`$.post()`方法结合,以异步方式发送到服务器。例如: ```javascript var jsonData = { name: 'John', age: 30 }; var formData = ...
总结,这个实例演示了如何使用jQuery和AJAX来实现Form表单的无刷新提交。通过这种方式,用户可以在提交表单后立即看到结果,而无需等待页面刷新,提高了交互性和用户体验。记住,实际应用中你需要根据具体需求调整...
这是因为如果未正确处理,一个简单的按钮点击可能会导致Ajax请求和表单提交同时发生,造成不期望的重复提交问题。 当使用HTML表单提交数据时,点击类型为submit的按钮默认会触发表单的提交。在使用JavaScript的Ajax...
为了解决这个问题,jQuery Form插件应运而生,它允许我们实现异步(Ajax)表单提交,提高页面的响应性和用户体验。 ### jQuery Form 插件介绍 jQuery Form插件是基于jQuery的一个强大工具,它可以轻松地将任何HTML...
在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互等任务。...确保正确引入jQuery和`ajaxForm.js`文件,并按照上述步骤设置表单,你就可以实现异步的Ajax表单提交了。
在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不刷新整个页面的情况下,与服务器交换...通过学习和理解这些代码,你可以更深入地掌握Ajax与jQuery结合处理表单提交的方法。
jquery.form.js是一个强大的jQuery插件,可以将普通的form表单提交转换为Ajax提交。这个插件的主要功能包括但不限于表单提交、验证、上传等。要使用这个插件,首先需要确保已经引入了jQuery库,因为jquery.form.js...
`jquery.form.js`是jQuery的一个插件,它为表单提交提供了更高级的功能,如文件上传支持、多部分形式(multipart/form-data)和多种提交方式。安装此插件后,我们可以使用`.ajaxSubmit()`或`.submit()`方法: ```...