读书人

跟小弟我学JQuery-第一课

发布时间: 2012-10-08 19:54:56 作者: rapoo

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

官方网站:www.jquery.com

创立者:John Resig

?

请到官方网站下载jquery-1.6.1.min.js

?

?

第一个案例:用户名效验

首先看看我的包目录:


跟小弟我学JQuery-第一课

?

大家按照我的包结构把项目建好

?

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" 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,可以解决中文乱码问题

?


?

读书人网 >Web前端

热点推荐