jQuery使用$.ajax進(jìn)行即時(shí)驗(yàn)證實(shí)例詳解
本文實(shí)例講述了jQuery使用$.ajax進(jìn)行即時(shí)驗(yàn)證的方法。分享給大家供大家參考,具體如下:
這里實(shí)現(xiàn)使用jQuery和一般處理程序即時(shí)驗(yàn)證用戶(hù)錄入的學(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)查詢(xún)數(shù)據(jù)庫(kù)。
{
result = true;
}
context.Response.Write(result);
}
public bool IsReusable {
get {
return false;
}
}
}
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- jQuery Ajax 實(shí)例詳解 ($.ajax、$.post、$.get)
- JQuery.Ajax()的data參數(shù)類(lèi)型實(shí)例詳解
- jquery+ajax實(shí)現(xiàn)注冊(cè)實(shí)時(shí)驗(yàn)證實(shí)例詳解
- 實(shí)例詳解jQuery Mockjax 插件模擬 Ajax 請(qǐng)求
- 輕量級(jí)asp.net ajax解決方案詳解
- 詳解JavaScript for循環(huán)中發(fā)送AJAX請(qǐng)求問(wèn)題
- PHP+Ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)實(shí)例詳解(附demo源碼下載)
- 詳解原生JavaScript實(shí)現(xiàn)jQuery中AJAX處理的方法
- jquery ajax局部加載方法詳解(實(shí)現(xiàn)代碼)
- Ajax基礎(chǔ)詳解教程(一)
- Ajax基礎(chǔ)詳解教程(二)
相關(guān)文章
jQuery用unbind方法去掉hover事件及其他方法介紹
jquery怎么去掉hover以為直接unbind(hover)就可以搞定,結(jié)果很失敗,接下來(lái)介紹下取消hover事件的多種方法,感興趣的你可以參考下哈2013-03-03
使用jQuery5分鐘快速搞定雙色表格的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇使用jQuery5分鐘快速搞定雙色表格的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
基于Bootstrap+jQuery.validate實(shí)現(xiàn)Form表單驗(yàn)證
這篇文章主要介紹了基于Bootstrap+jQuery.validate實(shí)現(xiàn)Form表單驗(yàn)證,需要的朋友可以參考下2014-12-12
jquery將json轉(zhuǎn)為數(shù)據(jù)字典的實(shí)例代碼
這篇文章主要介紹了jquery將json轉(zhuǎn)為數(shù)據(jù)字典的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
使用jQuery中的wrap()函數(shù)操作HTML元素的教程
wrap(),顧名思義,就是包裹的意思,就是在你所在器外層包裹一層?xùn)|西,接下來(lái)我們就詳細(xì)來(lái)看使用jQuery中的wrap()函數(shù)操作HTML元素的教程:2016-05-05
jQuery實(shí)現(xiàn)簡(jiǎn)單評(píng)論功能
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡(jiǎn)單評(píng)論功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08
jquery屬性選擇器not has怎么寫(xiě) 行懸停高亮顯示
jquery屬性選擇器中的包含 not has怎么寫(xiě),讓一個(gè)table中沒(méi)有 提交 圖片的行懸停時(shí)都高亮,下面有個(gè)不錯(cuò)的示例,喜歡的朋友可以參考下2013-11-11
jQuery實(shí)現(xiàn)的鼠標(biāo)拖動(dòng)畫(huà)矩形框示例【可兼容IE8】
這篇文章主要介紹了jQuery實(shí)現(xiàn)的鼠標(biāo)拖動(dòng)畫(huà)矩形框,結(jié)合實(shí)例形式分析了jQuery基于事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)操作實(shí)現(xiàn)的圖形繪制相關(guān)操作技巧,需要的朋友可以參考下2019-05-05

