取出用戶名中的值,讓后臺(tái)來(lái)判斷一下是不是存在,把信息返回給前端,前端顯示,用ajax就可以了:
創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計(jì),友好網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:友好等地區(qū)。友好做網(wǎng)站價(jià)格咨詢:028-86922220
$('#btn').bind('click',?function(event)?{
//取出你用戶名
var?username?=?$('#username').val();
$.ajax({
url:?'/path/to/file',
dataType:?'json',
data:?{username:?username},
success?:?function(obj){
//obj是返回的信息,說(shuō)明用戶名是不是存在
//執(zhí)行你想要的操作
}
})
});
其中用到了jquery插件來(lái)驗(yàn)證用戶名哦,這里是利用jquery
ajax來(lái)驗(yàn)證用戶名是否存在哦。大家看看效果圖,后面將附上源碼下載。
jquery框架實(shí)現(xiàn)的ajax
驗(yàn)證用戶名是否存在的部分JS
復(fù)制代碼
代碼如下:
$("#accounts").formValidator({onshow:"請(qǐng)輸入用戶名",onfocus:"用戶名至少4個(gè)字符,最多10個(gè)字符",oncorrect:"該用戶名可以注冊(cè)"}).inputValidator({min:4,max:10,onerror:"用戶名至少4個(gè)字符,最多10個(gè)字符"}).regexValidator({regexp:"username",datatype:"enum",onerror:"用戶名格式不正確"})
.ajaxValidator({
type
:
"get",
url
:
"/ws/NameExist.aspx",
datatype
:
"json",
success
:
function(data){
if(
data
==
"1"
)
{
return
true;
}
else
{
return
false;
}
},
buttons:
$("#submit"),
error:
function(){alert("服務(wù)器沒(méi)有返回?cái)?shù)據(jù),可能服務(wù)器忙,請(qǐng)重試");},
onerror
:
"該用戶名不可用,請(qǐng)更換用戶名",
onwait
:
"正在對(duì)用戶名進(jìn)行合法性校驗(yàn),請(qǐng)稍候..."
})
NameExist.aspx
實(shí)現(xiàn)的源碼
復(fù)制代碼
代碼如下:
protected
void
Page_Load(object
sender,
EventArgs
e)
{
string
accounts
=
Request["accounts"];
LoginNameExist(accounts);
}
public
void
LoginNameExist(string
accounts)
{
IUsers
user
=
AgileEIS.Web.DAL.Interface.DALHelper.DALManager.CreateUsers();
user.Session
=
ContextHelper.Session;
user.Accounts
=
accounts;
user.Refresh();
if
(!user.Exists)
{
Response.Write("1");
}
else
{
Response.Write("0");
}
Response.End();
return;
}
異步刷新實(shí)現(xiàn)方式有多種,也可以借助js的多種框架,以上是使用jquery框架實(shí)現(xiàn)的ajax
驗(yàn)證用戶名是否存在。首次發(fā)這樣的技術(shù)文檔,難免有不足之外,還請(qǐng)大家見(jiàn)涼...
下面將提供下載
jquery調(diào)用ajax,調(diào)用后臺(tái)方法判斷用戶名是否重復(fù)。驗(yàn)證的話,varusername=$("#username").val();if(username==""){returnfalse;}上面為驗(yàn)證不能為空
比如下面這個(gè):
“用戶的輸入都是不可靠的”,忘了是哪位牛人說(shuō)的這句話,所以對(duì)用戶輸入的數(shù)據(jù)進(jìn)行檢測(cè)是非常必要的。
以前我做客戶端的檢測(cè)都是一個(gè)屬性寫一個(gè)函數(shù),我自己也覺(jué)得很不好,但也沒(méi)有更好的辦法,今天在一人blog里看到介紹jQuery的插件Validation,看了下,真的感覺(jué)很不錯(cuò)。jQuery提供的參數(shù)文檔,這插件的作者提供的一些DEMO,下載地址在這里。
$.validator.setDefaults({
debug: true
});
設(shè)置默認(rèn)的狀態(tài)為debug,這樣用戶的數(shù)據(jù)就不會(huì)提交了。
接下來(lái)是一段比較長(zhǎng)的代碼,但是不用怕,因?yàn)檎娴耐?jiǎn)單的//當(dāng)頁(yè)面載入完成時(shí),執(zhí)行以下動(dòng)作
$().ready(function() {
$("#myform").validate({
//設(shè)置默認(rèn)的狀態(tài)為keyup,也可以設(shè)置為blur
event: "keyup",
//設(shè)定規(guī)則
rules: {
//對(duì)應(yīng)id為'username'的input
username: {
//必填項(xiàng)
required: true,
//最多和最少的字符數(shù)
rangeLength:[4,16]
},
mail: {
required: true,
//聲明這是一個(gè)電子郵件
email: true
},
password: {
required: true,
//最少4個(gè)字符
minLength: 4
},
confirm_password: {
required: true,
minLength: 4,
// 與哪個(gè)等同,這里是id為password的input等同
equalTo: "#password"
},
agree: "required"
},
//這里是與規(guī)則對(duì)應(yīng)的錯(cuò)誤代碼
messages: {
username: {
//如果用戶名為空,則顯示下面的信息
required: '請(qǐng)輸入用戶名',
//如果字符串的長(zhǎng)度不符合,則顯示下面的信息
rangeLength: '用戶名必須在4-16個(gè)字符之間'
},
password: {
required: '請(qǐng)輸入密碼',
minLength: '密碼必須大于4個(gè)字符'
},
confirm_password: {
required: '請(qǐng)確認(rèn)你的密碼',
equalTo: '兩次密碼輸入不一致',
minLength: '密碼必須大于4個(gè)字符'
},
agree: '請(qǐng)同意我們的條款',
mail: '請(qǐng)輸入有效的E-MAIL帳戶'
},
//可選項(xiàng),當(dāng)用戶的輸入符合我們?cè)O(shè)定的規(guī)則時(shí)顯示
success: function(label) {
label.html('√').addClass("success");
}
});
});
/script
代碼里寫了注釋,看起來(lái)應(yīng)該還是比較容易理解的吧,最后就是一個(gè)form
form id="myform" action="index.html" method="get"
fieldset
legend用戶注冊(cè)界面/legend
plabel for="username"用戶名:/label
input type="text" name="username" id="username" /
plabel for="mail"電子郵件地址:/label
input type="text" name="mail" id="mail" /
plabel for="password"密碼:/label
input type="password" name="password" id="password" /
plabel for="confirm_password"密碼確認(rèn):/label
input type="password" name="confirm_password" id="confirm_password" /
plabel for="agree"請(qǐng)同意我們的條款:/labelinput type="checkbox" name="agree" id="agree" /
div id="submit"input type="submit" value="Submit" //div
/fieldset
/form
$('#username').blur(function(){
$.ajax({
url:從數(shù)據(jù)庫(kù)驗(yàn)證用戶是否重復(fù)的action地址,
type:'POST',
data:{username:username},
dataType:'json',
success:function(jsonData){
if (jsonData == null) {
$(“#tips”).html('查詢用戶名列表錯(cuò)誤');
}else if (jsonData.result == "true") {
$(“#tips”).html('用戶名重復(fù)');
}else if(jsonData.result == "false") {
$(“#tips”).html('恭喜你,用戶名可以使用');
}
},
error:function(jsonData){
}
});
});
表單的里面的有input這是輸入框,name="username";
密碼框的name是 password他們的對(duì)應(yīng)的標(biāo)簽里面都先寫一個(gè)id,分別是id="username",id="password".還有一個(gè)是確認(rèn)提交的按鈕。之后就是先導(dǎo)入jquery.js(這是js的庫(kù)函數(shù))。這個(gè)可以通過(guò)網(wǎng)絡(luò)下載,
script
$("input[type="submit"]").click(
function(){
var username=$("#username").val();//獲取用戶名的信息;
var password=$("#password").val();//來(lái)獲取密碼的信息
之后就是你需要的驗(yàn)證的要求,
}
);
/script