平时都专注于后台功能的实现和逻辑需求的分析及数据库方面的设计,很少关注前端的设计,而项目开发过程中专门负责后台是不太可能的事,所以前端我们也需要会用,除了漂亮的首页等其他的交给美工来做,一些功能性的东西还是有负责模块开发的人来完成,所以除了后台、数据库外,前端也需要开发人员懂其一二。
例子1
用户注册校验
用户注册jsp页面
[html]view plaincopy
- <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
- <%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
- <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
- <html>
- <head>
- <title>注册页面</title>
- <metahttp-equiv="pragma"content="no-cache">
- <metahttp-equiv="cache-control"content="no-cache">
- <metahttp-equiv="expires"content="0">
- <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
- <metahttp-equiv="description"content="Thisismypage">
- <linkrel="stylesheet"type="text/css"href="<c:urlvalue=‘/jsps/css/user/regist.css‘/>">
- <scripttype="text/javascript"src="<c:urlvalue=‘/jquery/jquery-1.5.1.js‘/>"></script>
- <scripttype="text/javascript"src="<c:urlvalue=‘/jsps/js/user/regist.js‘/>"></script>
- </head>
- <body>
- <div>
- <div>
- <span>新用户注册</span>
- </div>
- <div>
- <formaction="<c:urlvalue=‘/UserServlet‘/>"method="post">
- <inputtype="hidden"name="method"value="regist"/>
- <table>
- <tr>
- <td>用户名:</td>
- <td>
- <inputtype="text"name="loginname"value="${form.loginname}"/>
- </td>
- <td>
- <label>${errors.loginname}</label>
- </td>
- </tr>
- <tr>
- <td>登录密码:</td>
- <td>
- <inputtype="password"name="loginpass"value="${form.loginpass}"/>
- </td>
- <td>
- <label>${errors.loginpass}</label>
- </td>
- </tr>
- <tr>
- <td>确认密码:</td>
- <td>
- <inputtype="password"name="reloginpass"value="${form.reloginpass}"/>
- </td>
- <td>
- <label>${errors.reloginpass}</label>
- </td>
- </tr>
- <tr>
- <td>Email:</td>
- <td>
- <inputtype="text"name="email"value="${form.email}"/>
- </td>
- <td>
- <label>${errors.email}</label>
- </td>
- </tr>
- <tr>
- <td>验证码:</td>
- <td>
- <inputtype="text"name="verifyCode"value="${form.verifyCode}"/>
- </td>
- <td>
- <label>${errors.verifyCode}</label>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <div><imgsrc="<c:urlvalue=‘/VerifyCodeServlet‘/>"/></div>
- </td>
- <td>
- <label><ahref="javascript:_hyz()">换一张</a></label>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <inputtype="image"src="<c:urlvalue=‘/images/regist1.jpg‘/>"/>
- </td>
- <td>
- <label></label>
- </td>
- </tr>
- </table>
- </form>
- </div>
- </div>
- </body>
- </html>
用户注册校验js
[html]view plaincopy
- $(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(){
- varlabelId=$(this).attr("id")+"Error";//通过输入框找到对应的label的id
- $("#"+labelId).text("");//把label的内容清空!
- showError($("#"+labelId));//隐藏没有信息的label
- });
- /*
- *4.输入框失去焦点进行校验
- */
- $(".inputClass").blur(function(){
- varid=$(this).attr("id");//获取当前输入框的id
- varfunName="validate"+id.substring(0,1).toUpperCase()+id.substring(1)+"()";//得到对应的校验函数名
- eval(funName);//执行函数调用
- });
- /*
- *5.表单提交时进行校验
- */
- $("#registForm").submit(function(){
- varbool=true;//表示校验通过
- if(!validateLoginname()){
- bool=false;
- }
- if(!validateLoginpass()){
- bool=false;
- }
- if(!validateReloginpass()){
- bool=false;
- }
- if(!validateEmail()){
- bool=false;
- }
- if(!validateVerifyCode()){
- bool=false;
- }
- returnbool;
- });
- });
- /*
- *登录名校验方法
- */
- functionvalidateLoginname(){
- var;
- varvalue=$("#"+id).val();//获取输入框内容
- /*
- *1.非空校验
- */
- if(!value){
- /*
- *获取对应的label
- *添加错误信息
- *显示label
- */
- $("#"+id+"Error").text("用户名不能为空!");
- showError($("#"+id+"Error"));
- returnfalse;
- }
- /*
- *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"));
- returnfalse;
- }
- }
- });
- returntrue;
- }
- /*
- *登录密码校验方法
- */
- functionvalidateLoginpass(){
- var;
- varvalue=$("#"+id).val();//获取输入框内容
- /*
- *1.非空校验
- */
- if(!value){
- /*
- *获取对应的label
- *添加错误信息
- *显示label
- */
- $("#"+id+"Error").text("密码不能为空!");
- showError($("#"+id+"Error"));
- returnfalse;
- }
- /*
- *2.长度校验
- */
- if(value.length<3||value.length>20){
- /*
- *获取对应的label
- *添加错误信息
- *显示label
- */
- $("#"+id+"Error").text("密码长度必须在3~20之间!");
- showError($("#"+id+"Error"));
- false;
- }
- returntrue;
- }
- /*
- *确认密码校验方法
- */
- functionvalidateReloginpass(){
- var;
- varvalue=$("#"+id).val();//获取输入框内容
- /*
- *1.非空校验
- */
- if(!value){
- /*
- *获取对应的label
- *添加错误信息
- *显示label
- */
- $("#"+id+"Error").text("确认密码不能为空!");
- showError($("#"+id+"Error"));
- returnfalse;
- }
- /*
- *2.两次输入是否一致校验
- */
- if(value!=$("#loginpass").val()){
- /*
- *获取对应的label
- *添加错误信息
- *显示label
- */
- $("#"+id+"Error").text("两次输入不一致!");
- showError($("#"+id+"Error"));
- false;
- }
- returntrue;
- }
- /*
- *Email校验方法
- */
- functionvalidateEmail(){
- var;
- varvalue=$("#"+id).val();//获取输入框内容
- /*
- *1.非空校验
- */
- if(!value){
- /*
- *获取对应的label
- *添加错误信息
- *显示label
- */
- $("#"+id+"Error").text("Email不能为空!");
- showError($("#"+id+"Error"));
- returnfalse;
- }
- /*
- *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"));
- returnfalse;
- }
- }
- });
- returntrue;
- }
- /*
- *验证码校验方法
- */
- functionvalidateVerifyCode(){
- var;
- varvalue=$("#"+id).val();//获取输入框内容
- /*
- *1.非空校验
- */
- if(!value){
- /*
- *获取对应的label
- *添加错误信息
- *显示label
- */
- $("#"+id+"Error").text("验证码不能为空!");
- showError($("#"+id+"Error"));
- returnfalse;
- }
- /*
- *2.长度校验
- */
知识推荐
- A start job is running for Raise network interface(5min 13s )问题解决方法
- Fiddler抓包7-post请求(json)
- 产品商业模式有哪些要素?
- js传值后台中文乱码解决
- XML/HTML常用操作
- 关于asp.net MVC 新建的 .cshtml视图文件无法找到资源的解决办法
- 如何从TFS(Visual Studio Team Foundation Server)映射下载本地文件夹
- #vector string# ?https://www.patest.cn/contests/gplt/L1-003
- DotNetAnywhere
- js cookie session
- HTML嵌套php
- 自定义MVC框架之工具类-图像处理类
- Flask web开发之路六
- PHP面向对象
- 学习计划 nginx 中 php的配置详解
- WEB安全番外第三篇--关于XXE
- LNMP构架-简介与php安装(与lamp不同)
- 爬取资讯网站的新闻并保存到excel
我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8
不良信息举报平台
互联网安全管理备案
Copyright 2023 www.wodecom.cn All Rights Reserved