java网上图书商城(1)User模块

本文实例为大家分享了java网上图书商城user模块代码,供大家参考,具体内容如下

效果图:

regist.js

$(function() {
 /*
 * 1. 得到所有的错误信息,循环遍历之。调用一个方法来确定是否显示错误信息!
 */
 $(".errorClass").each(function() {
 showError($(this));//遍历每个元素,使用每个元素来调用showError方法
 });

 /*
 * 2. 切换注册按钮的图片
 */
 $("#submitBtn").hover(
 function() {
  $("#submitBtn").attr("src", "/goods/images/regist2.jpg");
 },
 function() {
  $("#submitBtn").attr("src", "/goods/images/regist1.jpg");
 }
 );

 /*
 * 3. 输入框得到焦点隐藏错误信息
 */
 $(".inputClass").focus(function() {
 var labelId = $(this).attr("id") + "Error";//通过输入框找到对应的label的id
 $("#" + labelId).text("");//把label的内容清空!
 showError($("#" + labelId));//隐藏没有信息的label
 });

 /*
 * 4. 输入框失去焦点进行校验
 */
 $(".inputClass").blur(function() {
 var id = $(this).attr("id");//获取当前输入框的id
 var funName = "validate" + id.substring(0,1).toUpperCase() + id.substring(1) + "()";//得到对应的校验函数名
 eval(funName);//执行函数调用
 });

 /*
 * 5. 表单提交时进行校验
 */
 $("#registForm").submit(function() {
 var bool = true;//表示校验通过
 if(!validateLoginname()) {
  bool = false;
 }
 if(!validateLoginpass()) {
  bool = false;
 }
 if(!validateReloginpass()) {
  bool = false;
 }
 if(!validateEmail()) {
  bool = false;
 }
 if(!validateVerifyCode()) {
  bool = false;
 }

 return bool;
 });
});

/*
 * 登录名校验方法
 */
function validateLoginname() {
 var id = "loginname";
 var value = $("#" + id).val();//获取输入框内容
 /*
 * 1. 非空校验
 */
 if(!value) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("用户名不能为空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. 长度校验
 */
 if(value.length < 3 || value.length > 20) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("用户名长度必须在3 ~ 20之间!");
 showError($("#" + id + "Error"));
 false;
 }
 /*
 * 3. 是否注册校验
 */
 $.ajax({
 url:"/goods/UserServlet",//要请求的servlet
 data:{method:"ajaxValidateLoginname", loginname:value},//给服务器的参数
 type:"POST",
 dataType:"json",
 async:false,//是否异步请求,如果是异步,那么不会等服务器返回,我们这个函数就向下运行了。
 cache:false,
 success:function(result) {
  if(!result) {//如果校验失败
  $("#" + id + "Error").text("用户名已被注册!");
  showError($("#" + id + "Error"));
  return false;
  }
 }
 });
 return true;
}

/*
 * 登录密码校验方法
 */
function validateLoginpass() {
 var id = "loginpass";
 var value = $("#" + id).val();//获取输入框内容
 /*
 * 1. 非空校验
 */
 if(!value) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("密码不能为空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. 长度校验
 */
 if(value.length < 3 || value.length > 20) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("密码长度必须在3 ~ 20之间!");
 showError($("#" + id + "Error"));
 false;
 }
 return true;
}

/*
 * 确认密码校验方法
 */
function validateReloginpass() {
 var id = "reloginpass";
 var value = $("#" + id).val();//获取输入框内容
 /*
 * 1. 非空校验
 */
 if(!value) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("确认密码不能为空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. 两次输入是否一致校验
 */
 if(value != $("#loginpass").val()) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("两次输入不一致!");
 showError($("#" + id + "Error"));
 false;
 }
 return true;
}

/*
 * Email校验方法
 */
function validateEmail() {
 var id = "email";
 var value = $("#" + id).val();//获取输入框内容
 /*
 * 1. 非空校验
 */
 if(!value) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("Email不能为空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. Email格式校验
 */
 if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(value)) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("错误的Email格式!");
 showError($("#" + id + "Error"));
 false;
 }
 /*
 * 3. 是否注册校验
 */
 $.ajax({
 url:"/goods/UserServlet",//要请求的servlet
 data:{method:"ajaxValidateEmail", email:value},//给服务器的参数
 type:"POST",
 dataType:"json",
 async:false,//是否异步请求,如果是异步,那么不会等服务器返回,我们这个函数就向下运行了。
 cache:false,
 success:function(result) {
  if(!result) {//如果校验失败
  $("#" + id + "Error").text("Email已被注册!");
  showError($("#" + id + "Error"));
  return false;
  }
 }
 });
 return true;
}

/*
 * 验证码校验方法
 */
function validateVerifyCode() {
 var id = "verifyCode";
 var value = $("#" + id).val();//获取输入框内容
 /*
 * 1. 非空校验
 */
 if(!value) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("验证码不能为空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. 长度校验
 */
 if(value.length != 4) {
 /*
  * 获取对应的label
  * 添加错误信息
  * 显示label
  */
 $("#" + id + "Error").text("错误的验证码!");
 showError($("#" + id + "Error"));
 false;
 }
 /*
 * 3. 是否正确
 */
 $.ajax({
 url:"/goods/UserServlet",//要请求的servlet
 data:{method:"ajaxValidateVerifyCode", verifyCode:value},//给服务器的参数
 type:"POST",
 dataType:"json",
 async:false,//是否异步请求,如果是异步,那么不会等服务器返回,我们这个函数就向下运行了。
 cache:false,
 success:function(result) {
  if(!result) {//如果校验失败
  $("#" + id + "Error").text("验证码错误!");
  showError($("#" + id + "Error"));
  return false;
  }
 }
 });
 return true;
}

/*
 * 判断当前元素是否存在内容,如果存在显示,不页面不显示!
 */
function showError(ele) {
 var text = ele.text();//获取元素的内容
 if(!text) {//如果没有内容
 ele.css("display", "none");//隐藏元素
 } else {//如果有内容
 ele.css("display", "");//显示元素
 }
}

/*
 * 换一张验证码
 */
function _hyz() {
 /*
 * 1. 获取<img>元素
 * 2. 重新设置它的src
 * 3. 使用毫秒来添加参数
 */
 $("#imgVerifyCode").attr("src", "/goods/VerifyCodeServlet?a=" + new Date().getTime());
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • SSH框架网上商城项目第28战之使用Ajax技术局部更新商品数量和总价

    之前,把项目部署了一下,玩了玩,今天完善了一下购物车中修改商品数量就能局部更新相应的总价的功能,大家都知道这得用Ajax实现,我之前也没学Ajax,刚好借助这个小功能,去简单学习一下Ajax的知识. 1. 问题的分析 先看一下页面中的情况: 功能如上,在没有Ajax之前,一般都是根据用户修改的值去找Action,然后返回新的jsp页面重新加载整个页面,完成数字的更新.但是有了Ajax技术后,我们可以利用Ajax技术局部刷新要改变的地方,而不是重新加载整个页面.首先看一下上图对应的jsp部分的代码

  • SSH框架网上商城项目第23战之在线支付功能实现

    上一节我们做好了支付页面的显示,从上一节支付页面显示的jsp代码中可以看出,当用户点击确认支付时,会跳到${shop}/pay_goBank.action的action,也就是说,提交后我们得在payAction中的goBank方法中处理一些逻辑(即21节demo中的那个流程图的逻辑),即获得明文,将明文加密成签名(密文)然后再去访问易宝服务器,易宝连接银行,完成支付. 但是考虑到MVC设计模式,我们会将上面这些业务逻辑放到Service层中处理,所以下面我们来实现21节中那个demo的支付逻辑

  • SSH框架网上商城项目第9战之添加和更新商品类别功能实现

    上一节我们做完了查询和删除商品的功能,这一节我们做一下添加和更新商品的功能. 1. 添加商品类别 1.1 添加类别的UI设计         我们先说一下思路:首先当用户点击"添加商品"时,我们应该弹出一个"添加商品"的UI窗口(注意这里不是跳转到新的jsp,EasyUI只有一个页面),弹出这个"添加商品"的窗口后,应该锁住它父类的所有窗口(即点击其他地方无效,只能操作添加商品的窗口),等用户填好了信息后,在新弹出来的窗口上点击"添加&

  • SSH框架网上商城项目第10战之搭建商品类基本模块

    前面我们完成了与商品类别相关的业务逻辑,接下来我们开始做具体商品部分. 1. 数据库建表并映射Model 首先我们在数据库中新建一张表,然后使用逆向工程将表映射成Model类,表如下: /*=============================*/ /* Table: 商品表结构 */ /*=============================*/ create table product ( /* 商品编号,自动增长 */ id int primary key not null aut

  • SSH框架网上商城项目第17战之购物车基本功能

    上一节我们将商品的详细页面做完了,并使用了Hibernate的二级缓存加载详细页面来提高系统的性能,点击文章查看:.这节我们开始做购物车部分. 1. 添加新的表 首先我们向数据库中添加几张表:用户表.订单状态表.订单表(购物车表)以及购物项表.用户表中存有用户的基本信息,订单状态表中主要存储订单的状态,比如已发货这种,订单表主要存储用户的信息和订单的状态,所以跟用户表和订单状态表关联,购物项表存储某个商品以及所属的订单,所以跟商品表和订单表相关联.具体的表信息见下面的sql语句: /*=====

  • SSH框架网上商城项目第21战之详解易宝支付的流程

    这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后,再做实际的开发,因为是一个Demo,所以我没有考虑一些设计模式的东西,就是直接实现支付功能.实现支付功能需要易宝给我们提供的API.那么问题来了,使用第三方支付平台最主要的一件事就是获取该平台的API,我们首先得获取他们的API以及开发文档,然后才可以做进一步的开发. 1. 获取易宝的API 获取API的第一步,要在易宝上注册一个账号,这个账号是商家的账号,后面买家付款后,会将钱款存入该账号中,然后商家自己提取到银行卡,易宝

  • JavaWeb搭建网上图书商城毕业设计

    以前一直接触.net相关的web开发,现在猛然使用javaWeb还是很不习惯,就连搭个框架也是第一次. 一.谈谈项目架构 一开始接触.net相关的开发所以对于.net相关的开发还是比较熟悉的,但我在学校学的java方向的开发,而我打算把这两种平台结合起来,使用java做后台也就是服务提供者,将所有业务逻辑在java平台完成并使用我比较熟悉的.net做Web端的开发.这样一来安卓app,web端就都有了.客户端统一通过分布式框架调用服务.找了很久最终选择了Hprose,这一轻量级.跨语言.跨平台.

  • SSH框架网上商城项目第30战之项目总结(附源码下载地址)

    0. 写在前面 友情提示:下载地址在下面哦. 项目基本完成了,加上这个总结,与这个项目相关的博客也写了30篇了,积少成多,写博客的过程是固化思路的一个过程,对自己很有用,同时也能帮助别人.顺便说个题外话,在学习的过程中肯定会遇到很多异常出现,我们要做的首先是定位这个异常,一般异常的后面都会跟一个或多个Caused by:xxx,这些都是引起异常的原因,一般我们找最下面的一个Caused by,那里往往才是问题的根源.如果自己解决不了,可以去谷歌.百度搜索(搜索的时候别一大堆异常往上一贴,注意搜关

  • SSH框架网上商城项目第8战之查询和删除商品类别功能实现

    上一节我们完成了使用DataGrid显示所有商品信息,这节我们开始添加几个功能:添加.更新.删除和查询.首先我们实现下前台的显示,然后再做后台获取数据. 1. 添加.更新.删除和查询功能的前台实现 DataGrid控件里有个toolbar属性,是添加工具栏的,我们可以在toolbar属性中添加这些按钮来实现相应的功能.先看一下官方文档对toolbar的定义: 我们使用数组的方式定义工具栏,在query.jsp页面中新添加如下代码: <%@ page language="java"

  • php 网上商城促销设计实例代码

    大体的思想,每一个促销要新建一个促销类,有专门的开关来控制是否生效. 用商品里面的促销识别码来判断具体调用哪一个促销实例. 首先,在添加商品的时候,分两步,第一步是添加状态,第二步是把购物车内的商品显示这个状态. 一,添加步骤几个重要的点: 1,添加商品之前,遍历所有的促销互斥条件. 例如,某一款商品不可以和另一个商品同时在一个购物车内:或者某个用户权限,不可以购买特定的一件商品等等. 2,添加商品之前,选择特定的促销实例,来进行添加之前的操作. 注:第二点与第一点的区别在于1是要遍历所有的促销

随机推荐