JQuery的第一天实战学习
1、按照下面的工程来建:

2、新建UserVerify.html文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>jquery实战</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<link type="text/css" rel="stylesheet" href="css/UserVerify.css"/>
<script type="text/javascript" src="js/jquery-1.11.3.js" ></script>
<script type="text/javascript" src="js/UserVerify.js" ></script>
</head> <body>
<table>
<tr>
<td>
请输入用户名称:
</td>
<td>
<input type="text" id="userName" />
</td>
<td>
<div id="verifyResult"></div>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="button" value="校验" id="verifyButton" /></td>
</tr>
</table>
</body>
</html>
3、新建css/UserVerify.css文件
.nameClass{
/*控制文本框的边框是红色的实线*/
border:1px solid red;
background-image:url(../images/userVerify.gif);
background-repeat:repeat-x;
background-position:bottom;
}
4、新建js/UserVerify.js文件
/*
*需要通过javascript代码来做2件事情:
*1、button被点击的时候,需要将文本框中的数据获取到,然后发送给服务器端,最后接受服务器返回的数据,填充到div中,看到结果;
*2、文本框上,用户按键后,需要判断文本框中的内容是否为空,否,红色的边框和背景图取消,是,则留
*/ /*
*
*/
$(document).ready(function(){ //页面装载完,执行以下代码: //需要找到button按钮,注册事件
$("#verifyButton").click(function(){
//alert("Button click");
//1、获取文本框的内容;
var userName = $("#userName").val();
//2、将这个内容发送给服务器端
if(userName == "")
{
alert("用户姓名不能为空");
}
else
{
//alert(userName);
try
{
$.get("http://localhost:8080/150702JQuery/userVerify?userName="+encodeURI(encodeURI(userName)),null,function(response){
//3、接受服务器端返回的数据,填充到div中
$("#verifyResult").html(response);
});
}
catch(e)
{
alert(e.error);
alert(e.message);
}
} }); //需要找到文本框,注册事件
$("#userName").keyup(function(){
var userName = $(this).val();
if(userName == "")
{
$(this).addClass("nameClass");
}
else
{
$(this).removeClass("nameClass");
}
}); });
5、添加额外的文件:
images/userVerify.gif

以上实现的样式如下图所示:
1)刚打开的样式:

2)输值却为空,则会改变文本框的样式:

6、新建UserVerifyServlet.java类:
package com.jquery.servlet; import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class UserVerifyServlet extends HttpServlet{ private static final long serialVersionUID = 2348662049635889701L; public void init()
{
System.out.println("init UserVerifyServlet");
}
public void service(HttpServletRequest request,HttpServletResponse response)
{
String userName = (String)request.getParameter("userName"); try
{
userName = URLDecoder.decode(userName,"UTF-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("用户姓名【"+userName+"】可以注册");
}
catch (UnsupportedEncodingException e1)
{
e1.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
} } }
7、在web.xml文件里增加:
<servlet>
<servlet-name>userVerify</servlet-name>
<servlet-class>com.jquery.servlet.UserVerifyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>userVerify</servlet-name>
<url-pattern>/userVerify</url-pattern>
</servlet-mapping>
增加servlet类后,实现:
输入值后,点击校验按钮,通过ajax访问服务器端,返回数据页面div里展示:

JQuery的第一天实战学习的更多相关文章
- jqueryMobile应用第一课《构建跨平台APP:jQuery Mobile移动应用实战》连载一(Hello World)
有人说每个程序员都曾经有过改变世界的梦想,笔者认为,这与程序员年轻时编写的第一个程序有着莫大的关系.简简单单的一句“hello world”让年轻的心开始相信梦想,用一种低调的壮志凌云向世界展示自己的 ...
- jquery Mobile应用第2课《构建跨平台APP:jQuery Mobile移动应用实战》连载二(简单的QWER键盘)
在jQuery Mobile的布局中,控件大多都是单独占据页面中的一行,按钮自然也不例外,但是仍然有一些方法能够让多个按钮组成一行,比如说在范例6-5中就利用按钮分组的方法使4个按钮并列在一行中,如图 ...
- Docker虚拟化实战学习——基础篇(转)
Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
- GitHub标星8k,字节跳动高工熬夜半月整理的“组件化实战学习手册”,全是精髓!
前言 什么是组件化? 最初的目的是代码重用,功能相对单一或者独立.在整个系统的代码层次上位于最底层,被其他代码所依赖,所以说组件化是纵向分层. 为什么要使用组件化? 当我们的项目越做越大的时候,有时间 ...
- 【原创】小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载五(给按钮加图标)
在范例5-4所使用的导航栏中,已经为按钮加入了图标的样式,但是当时并没有介绍按钮的图标究竟是怎么一回事.下面截取范例5-4中导航栏部分的代码: <divdata-role="foote ...
- 小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载四(场景切换)
作为一款真正有使用价值的应用,首先应该至少有两个页面,通过页面的切换来实现更多的交互.比如手机人人网,打开以后先是进入登录页面,登录后会有新鲜事,然后拉开左边的面板,能看到相册.悄悄话.应用之类的其他 ...
- 白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》串行4(场景变化)
作为一个真正的利用价格值应用,首先,你应该至少有两页,通过切换页面来实现很多其他互动.比如手机人人网,首先,打开后进入登录页面,将有登录后,新的东西.然后拉左侧面板.你可以看到相册.私人信息.像其他应 ...
- 一个比较全面 的web项目实战学习
一个比较全面 的web项目实战学习:http://www.cnblogs.com/jikey/p/3613082.html
随机推荐
- go again
Introducation (1)How to organize go code (2)How to develope go package (3)How to use go tool How to ...
- iOS学习之Object-C语言集合遍历和数组排序
一.集合遍历 1.集合:OC中提供的容器类,数组,字典,集合. 2.遍历:对集合中元素依次取出的过程叫做遍历. 二.for循环遍历 1.通过for循环的循环变量用作数组元 ...
- Python-memcached的基本使用
想学Python,又想研究下memcached的客户端,于是拿Python-memcached研究研究~~~ 1.memcached的安装 请参考本博另一文章<Linux下安装memcached ...
- run.do 文件编写说明
#停止仿真quit -sim#清除信息.main clear #建立物理路径libvlib ./lib/#建立物理路径work_avlib ./lib/work_a/#映射逻辑库至物理路径vmap b ...
- Travis-CI的进一步使用
今天主要对.travis.yml文件和makefile进行进一步的了解: 1.在.travis.yml文件中添加了给linux系统中安装了cppunit库的语句,使能够持续集成写过的单元测试的代码.主 ...
- 用setTimeout 代替 setInterval实时拉取数据
在开发中,我们常常碰到需要定时拉取网站数据,如: setInterval(function(){ $.ajax({ url: 'xx', success: function( response ){ ...
- vs2012 condition_variable notify_one 崩溃
vs2012项目中用到 condition_variable系统方法,程序运行过程过程中偶尔出现notify_one崩溃, 程序运行的服务器系统版本是windows server 2008 R2 SP ...
- UVA - 11478 Halum 二分+差分约束
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34651 题意: 给定一个有向图,每一条边都有一个权值,每次你可以 ...
- 802.11 wireless 五
802.11 wireless 5CSMA/CA,采用倒计时的方法,退避的时间(当年时间+duration 为发送时间,每一个帧会有一个duration,这个位叫做duration[n.持续]) PS ...
- 【HDOJ】【3516】Tree Construction
DP/四边形不等式 这题跟石子合并有点像…… dp[i][j]为将第 i 个点开始的 j 个点合并的最小代价. 易知有 dp[i][j]=min{dp[i][j] , dp[i][k-i+1]+dp[ ...