`
xiaoxiong_it
  • 浏览: 130136 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jQuery ajax 请求 和 Submit 提交 form 表单

阅读更多
前台:
<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方法来提交表单,从而实现异步数据交换,提高用户体验。 首先,jQuery的$.ajax()函数是进行Ajax请求的核心,它允许我们与服务器进行异步数据通信。在“使用jQuery ajax提交表单...

    ajax提交form表单和上传图片

    本教程将详细讲解如何利用jQuery、jQuery Form插件以及Spring MVC框架来实现Ajax提交表单并上传图片。通过这种方式,用户无需等待页面刷新,即可完成操作,提升了交互性。 首先,`jquery.js` 是jQuery库的核心文件...

    ajaxForm异步提交表单(含图片)

    AjaxForm是jQuery Form Plugin的一个功能,用于实现异步表单提交,特别是处理包含图片在内的复杂数据。本文将深入探讨如何使用ajaxForm进行异步表单提交。 首先,让我们了解什么是Ajax。AJAX(Asynchronous ...

    Ajax表单提交插件jquery form

    总结来说,jQuery Form插件是提升Web应用表单交互体验的强大工具,它简化了Ajax提交表单的流程,同时提供了丰富的自定义选项和事件处理,使开发者能够轻松处理复杂的表单提交场景。结合后端处理,如`submit.php`,...

    使用jQuery.form插件,实现完美的表单异步提交

    总结一下,jQuery.form插件通过提供简单的API和强大的功能,极大地简化了表单异步提交的实现。通过理解并熟练运用这些方法,你可以创建出更高效、用户体验更佳的Web应用。无论是在简单的数据提交还是复杂的文件上传...

    JQuery Ajax提交整个表单

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互等任务。...理解这些概念和用法,能够帮助开发者在jQuery 1.3.2或其他版本中高效地实现表单的Ajax提交。

    jquery异步提交form表单

    本文将深入探讨“jQuery异步提交form表单”这一主题,结合给出的标签“源码”和“工具”,我们将分析相关源码,并提供实际应用中的指导。 在传统的HTML表单提交过程中,页面会跳转到服务器返回的结果页面,这在用户...

    JQuery.form表单提交参数详解.txt

    `ajaxForm()` 和 `ajaxSubmit()` 方法都是 JQuery Form 插件的一部分,它们可以用来处理表单的提交动作,实现 AJAX 异步提交。 - **`ajaxForm()` 方法**:此方法用于将表单的默认提交行为替换为 AJAX 提交行为。...

    ajax提交表单到后台

    总结来说,利用jQuery的AJAX和Spring MVC,我们可以实现前端表单的无刷新提交,提高用户体验,同时在后台进行数据处理。这种技术广泛应用于现代Web应用中,特别是在需要实时交互和数据更新的场景下。通过理解并实践...

    jQuery ajax提交Form表单实例(附demo源码)

    这个例子展示了如何通过jQuery简化Form表单的AJAX提交,使得代码更易于理解和维护。此外,还可以在`ajaxSubmit`调用前进行表单验证,以确保提交的数据有效。同时,jQuery提供了丰富的插件和API,如`$.validate`用于...

    jQuery Ajax无刷新提交表单并执行邮件通知

    **jQuery与Ajax无刷新提交表单** 在网页开发中,jQuery和Ajax技术的结合使得用户交互体验得到了极大的提升。"jQuery Ajax无刷新提交表单并执行邮件通知"这个主题涉及了两个关键点:一是利用jQuery进行表单验证,二...

    PHP+Jquery+AJAX POST,GET提交表单并接收返回

    2. **jQuery监听表单提交**:使用jQuery,我们可以监听表单的提交事件,比如`$('form').submit(function(event) { ... })`,阻止默认的表单提交行为(防止页面跳转),并开始执行AJAX请求。 3. **AJAX请求**:使用...

    使用JQuery实现从JSON对象转换为form提交数据

    2. **使用jQuery的Ajax方法提交表单** 转换后的数据可以与jQuery的`$.ajax()`或`$.post()`方法结合,以异步方式发送到服务器。例如: ```javascript var jsonData = { name: 'John', age: 30 }; var formData = ...

    使用AJAX提交Form表单实例演示

    总结,这个实例演示了如何使用jQuery和AJAX来实现Form表单的无刷新提交。通过这种方式,用户可以在提交表单后立即看到结果,而无需等待页面刷新,提高了交互性和用户体验。记住,实际应用中你需要根据具体需求调整...

    按钮的Ajax请求时一次点击两次提交的解决方法

    这是因为如果未正确处理,一个简单的按钮点击可能会导致Ajax请求和表单提交同时发生,造成不期望的重复提交问题。 当使用HTML表单提交数据时,点击类型为submit的按钮默认会触发表单的提交。在使用JavaScript的Ajax...

    jquery-form 异步提交表单

    为了解决这个问题,jQuery Form插件应运而生,它允许我们实现异步(Ajax)表单提交,提高页面的响应性和用户体验。 ### jQuery Form 插件介绍 jQuery Form插件是基于jQuery的一个强大工具,它可以轻松地将任何HTML...

    jquery ajaxfrom表单提交代码

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互等任务。...确保正确引入jQuery和`ajaxForm.js`文件,并按照上述步骤设置表单,你就可以实现异步的Ajax表单提交了。

    Ajax使用jQuery提交表单 文件

    在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不刷新整个页面的情况下,与服务器交换...通过学习和理解这些代码,你可以更深入地掌握Ajax与jQuery结合处理表单提交的方法。

    jquery.form.js实现将form提交转为ajax方式提交的方法

    jquery.form.js是一个强大的jQuery插件,可以将普通的form表单提交转换为Ajax提交。这个插件的主要功能包括但不限于表单提交、验证、上传等。要使用这个插件,首先需要确保已经引入了jQuery库,因为jquery.form.js...

    jquery提交form表单

    `jquery.form.js`是jQuery的一个插件,它为表单提交提供了更高级的功能,如文件上传支持、多部分形式(multipart/form-data)和多种提交方式。安装此插件后,我们可以使用`.ajaxSubmit()`或`.submit()`方法: ```...

Global site tag (gtag.js) - Google Analytics