六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 73|回复: 0

跟我学JQuery---------------第一课

[复制链接]

升级  32.67%

25

主题

25

主题

25

主题

秀才

Rank: 2

积分
99
 楼主| 发表于 2013-2-7 14:32:36 | 显示全部楼层 |阅读模式
官方网站:www.jquery.com
创立者:John Resig
 
请到官方网站下载jquery-1.6.1.min.js
 
 
第一个案例:用户名效验
首先看看我的包目录:


 
大家按照我的包结构把项目建好
 
UserVerify.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>JQuery实战1-用户名校验</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.6.1.min.js"></script><script type="text/javascript" src="js/userVerify.js"></script></head><body>请输入用户名:<input type="text" id="userName" class="userText"/> <input type="button" value="校验" id="verifyButton" /><div id="result"></div></body></html> 
 
 userVerify.css
.userText {border: 1px solid red;background-image: url(../images/userVerify.gif);background-repeat: repeat-x;background-position: bottom;} 
 
userVerify.js
/* * 需要通过Javascript代码来做两件事情 * 1.button被按下的时候,需要将文本框中的数据获取到,然后发送给服务器端,最后接受服务器返回的数据,填充到我们预留的div中,这样用户就可以看到结果 * 2.文本框上,用户按键之后,需要判断文本框中的内容是否为空,如果不为空,红色的边框和背景图就应该取消,否则保留 * *//* * 需要在页面装载完成是注册上这些工作 * */$(document).ready(function(){//这里面的内容就是页面装载完成后需要执行的代码var userNameNode = $("#userName");//需要找到button按扭,注册事件$("#verifyButton").click(function(){//1.获取文本框的内容var userName = userNameNode.val();if(userName == ""){alert("用户名不能为空");}else{//2.将这个内容发送给服务器端$.get("UserVerify?userName=" + encodeURI(encodeURI(userName)),null,function(data){//3.接收服务器端返回的数据,填充到div中$("#result").html(data);});}});//需要找到文本框,注册事件userNameNode.keyup(function(){//获取当前文本框中的内容var value = userNameNode.val();if(value == ""){//让边框变成红色,并且带背景图userNameNode.addClass("userText");}else{//去掉边框和背景图userNameNode.removeClass("userText");}});}); 
UserVerify.java
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.ascvalue;import java.io.IOException;import java.io.PrintWriter;import java.net.URLDecoder;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * * @author longzhun */public class UserVerify extends HttpServlet {       /**     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.    * @param request servlet request    * @param response servlet response    */    protected void processRequest(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        response.setContentType("text/html;charset=UTF-8");        PrintWriter out = response.getWriter();        try {            String param = request.getParameter("userName");            if (param == null || param.length() == 0) {                out.println("用户名不能为空");            } else {                String userName = URLDecoder.decode(param, "UTF-8");                if (userName.equals("wangxingkui")) {                    out.println("用户名[" + userName + "]已经存在,请使用别的用户名注册");                } else {                    out.println("可以使用用户名[" + userName + "]注册");                }            }        } finally {             out.close();        }    }     // <editor-fold defaultstate="collapsed" desc="HttpServlet">    /**     * Handles the HTTP <code>GET</code> method.    * @param request servlet request    * @param response servlet response    */    protected void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        processRequest(request, response);    }     /**     * Handles the HTTP <code>POST</code> method.    * @param request servlet request    * @param response servlet response    */    protected void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        processRequest(request, response);    }    /**     * Returns a short description of the servlet.    */    public String getServletInfo() {        return "Short description";    }// </editor-fold>} 
web.xml
 
<servlet>        <servlet-name>UserVerify</servlet-name>        <servlet-class>com.ascvalue.UserVerify</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>UserVerify</servlet-name>        <url-pattern>/UserVerify</url-pattern>    </servlet-mapping> 
 
按照以上步骤,咱们第一个案例就很快完成了
简单吧
 
下面总结一下第一课学到的知识:
1。可以通过#idname或.classname的方式来个制定的html节点定义样式
2。可以通过$(document).ready(function(){})的方式来定义页面装载完成时,需要执行的方法
3。可以通过$()方法来获得页面的指定节点,参数是某种css的选择器
4。可以在$()方法返回的jquery对象上执行各种Jquery的方法来获取数据,定义事件,执行操作
5。val()方法可以获得节点的value属性值
6。html()方法可以设定某个节点中的html内容
7。click()方法可以响应鼠标点击事件
8。keyup()方法可以响应键盘弹起的事件
9。$.get()方法可以和服务器端进行get方式的交互,注册的callback方法会再数据回来的时候被调用,这个方法会接收到代表服务器端返回数据的一个纯文本的参数
10。addClass() removeClass()方法可以给某个节点添加或删除一个class
11。发送给服务器端的数据在javascript中做两次encodeURI,然后在服务器端的代码中按UTF-8的方式做一次URLDecode,可以解决中文乱码问题
 

 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表