本文實(shí)例講述了jQuery使用$.ajax進(jìn)行即時(shí)驗(yàn)證的方法。分享給大家供大家參考,具體如下:
使用jQuery和一般處理程序即時(shí)驗(yàn)證用戶錄入的學(xué)號(hào)是否重復(fù),當(dāng)光標(biāo)離開(kāi)輸入框即給出提示。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddStudent.aspx.cs" Inherits="AddStudent" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <style type="text/css"> .clsShow { font-size: 13px; border: solid 1px #cc3300; padding: 2px; display: none; margin-bottom: 5px; background-color: #ffe0a3; } </style> <script type="text/javascript" src="Scripts/jquery-1.4.2.js"></script> <script type="text/javascript"> $(function () { $("#btnSave").click(function () { if ($(".clsShow").html().toString() != "")//存在提示信息,則不允許提交表單 return false; else return true; }); $("#txtNum").focus(); //輸入焦點(diǎn) $("#txtNum").keydown(function (event) { if (event.which == "13") {//回車(chē)鍵,移動(dòng)光標(biāo)到密碼框 $("#txtName").focus(); $("#txtNum").trigger("blur"); } }); $("#txtNum").blur(function () { //獲取學(xué)號(hào) var strTxtName = encodeURI($("#txtNum").val()); //開(kāi)始發(fā)送數(shù)據(jù) $.ajax ({ //請(qǐng)求驗(yàn)證學(xué)號(hào)是否重復(fù) url: "Check.ashx", type: "post", //傳送請(qǐng)求數(shù)據(jù) data: { txtNum: strTxtName }, success: function (strValue) { //登錄成功后返回的數(shù)據(jù) //根據(jù)返回值進(jìn)行狀態(tài)顯示 if (strValue == "True") {//注意是True,不是true $(".clsShow").css("display", "inline"); $(".clsShow").html("學(xué)號(hào)已存在,請(qǐng)修改!"); } else { $(".clsShow").hide(); //就是把display屬性變成none $(".clsShow").html(""); } } }) }) }) </script></head><body> <form id="form1" runat="server"> <div> 學(xué)號(hào):<asp:TextBox ID="txtNum" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtNum" ErrorMessage="不能為空"></asp:RequiredFieldValidator> <div class="clsShow"></div> <br /> 姓名:<asp:TextBox ID="txtName" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtName" ErrorMessage="不能為空"></asp:RequiredFieldValidator> <br /> 數(shù)學(xué):<asp:TextBox ID="txtMath" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtMath" ErrorMessage="不能為空"></asp:RequiredFieldValidator> <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtMath" ErrorMessage="分?jǐn)?shù)在0-100之間" MaximumValue="100" MinimumValue="0" Type="Integer"></asp:RangeValidator> <br /> 英語(yǔ):<asp:TextBox ID="txtEnglish" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtEnglish" ErrorMessage="不能為空"></asp:RequiredFieldValidator> <asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="txtEnglish" ErrorMessage="分?jǐn)?shù)在0-100之間" MaximumValue="100" MinimumValue="0" Type="Integer"></asp:RangeValidator> <br /> 語(yǔ)文:<asp:TextBox ID="txtChinese" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtChinese" ErrorMessage="不能為空"></asp:RequiredFieldValidator> <asp:RangeValidator ID="RangeValidator3" runat="server" ControlToValidate="txtChinese" ErrorMessage="分?jǐn)?shù)在0-100之間" MaximumValue="100" MinimumValue="0" Type="Integer"></asp:RangeValidator> <br /> <asp:Button ID="btnSave" runat="server" Text="保存" onclick="btnSave_Click" /> <asp:Button ID="btnBack" runat="server" Text="返回" CausesValidation="False" onclick="btnBack_Click" /> <asp:Label ID="lblMsg" runat="server"></asp:Label> </div> </form></body></html> 一般處理程序Check.ashx代碼:
<%@ WebHandler Language="C#" class="Check" %>using System;using System.Web;public class Check : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; string num = context.Request["txtNum"].ToString(); bool result = false; if(num=="12")//為了簡(jiǎn)化代碼,沒(méi)有訪問(wèn)數(shù)據(jù)庫(kù)。實(shí)際項(xiàng)目應(yīng)查詢數(shù)據(jù)庫(kù)。 { result = true; } context.Response.Write(result); } public bool IsReusable { get { return false; } }} 希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。



















