首頁  >  文章  >  後端開發  >  JQuery運用ajax註冊使用者實例(後台asp.net)

JQuery運用ajax註冊使用者實例(後台asp.net)

高洛峰
高洛峰原創
2017-01-12 14:11:221060瀏覽

//JS代码 

function checkname() { 
var Msg = document.getElementById("d_username"); 
var chk = CheckN(); 
if (chk) { 
$.ajax({ url: 'registerOK.aspx', 
type: 'POST', 
data: { lb: "checkname", username: $("#username").val() }, 
dataType: 'html', 
timeout: 1000, 
error: function() { alert('出现未知错误,请与QQ:6434789联系。'); }, 
success: function(data) { 
if (data == "对不起,该用户名已被注册!") { 
Msg.className = "d_err"; 
Msg.innerHTML = data; 
$("#hiddencheckname").val("no"); 
} 
if (data == "恭喜,该用户名可以注册!") { 
Msg.className = "d_ok"; 
Msg.innerHTML = data; 
$("#hiddencheckname").val("yes"); 
} 
if (data == "该用户名不能为中文!") { 
Msg.className = "d_err"; 
Msg.innerHTML = data; 
$("#hiddencheckname").val("no"); 
} 
if (data == "请输入用户名!") { 
Msg.className = "d_err"; 
Msg.innerHTML = data; 
$("#hiddencheckname").val("no"); 
} 
} 
}); 
} 
} 

function CheckN() { 
var Msg = document.getElementById("d_username"); 
var chk = true; 
if (checkIsChinese(document.getElementById("username").value)) { 
Msg.className = "d_err"; 
Msg.innerHTML = "用户名不能为中文!"; 
chk = false; 
} 
if (document.getElementById("username").value.length < 4) { 
Msg.className = "d_err"; 
Msg.innerHTML = "用户名不能少于4个字符!"; 
chk = false; 
} 
return chk; 
} 

function chk_reguser() { 
var chk = true 
// if (!checkname()) { chk = false; } //jquery进行变量赋值不能与js里面的变量共用,故success: function(data) {}里面定义的任何变量与所在的js代码中的变量是不相通的,所以我就找一个种比较偏(非正式)的方法,为在html中加入隐藏的Input并在js里面设置$("#hiddencheckname").val("no"); 
if (!CheckN()) {chk = false;} 
if ($("#hiddencheckname").val() == "no") { chk = false; }//这个是对其判断 
if (!checkpwd()) { chk = false; }//这些跟CheckN()差不多一样,只是对表单里面的元素进行验证 
if (!checkpwd1()) { chk = false; } 
if (!checkquestion()) { chk = false; } 
if (!checkanswer()) { chk = false; } 
if (!checkxq()) { chk = false; } 
if (!checkrealname()) { chk = false; } 
if (!checktel()) { chk = false; } 
if (!checkQQMSN()) { chk = false; } 
if (!checkEmail()) { chk = false; } 
if (!checkaddress()) { chk = false; } 
if (chk) { 
$.ajax({ url: &#39;registerOK.aspx&#39;, 
type: &#39;POST&#39;, 
data: { lb: "reguser", username: $("#username").val(), password: $("#pwd").val(), question: $("#question").val(), answer: $("#answer").val(), xqcode: $("#ctl00_CPH_Main_DDL_xq").val(), realname: $("#realname").val(), sex: $("input[@name=sex][@checked]").val(), tel: $("#tel").val(), QQMSN: $("#QQMSN").val(), email: $("#email").val(), address: $("#address").val() }, 
dataType: &#39;html&#39;, 
timeout: 1000, 
error: function() { alert(&#39;出现未知错误,请与QQ:6434789联系。&#39;); }, 
success: function(data) { 
if (data == "success") { 
alert("注册成功!"); 
window.location.href = "/member/index.aspx"; 
} 
else { 
alert("注册失败,原因可能为用户名已被注册!"); 
} 
} 
}); 
return (true); 
} 
return (false); 
}

//HTML頁 

只要做類似這樣的表單 

<input id="username" type="text" onBlur="checkname()" /> 
<div class=d_default id=d_username>请输入4位以上的英文字符或数字!</div> 
<input id="Button_OK" type="button" onclick="return chk_reguser();"/>

//registerOK.aspx.cs 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using BLL; 

public partial class registerOK : System.Web.UI.Page 
{ 
user user = new user(); 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (!IsPostBack) 
{ 
string lb = Request["lb"]; 
string username = Request["username"]; 
string password = Request["password"]; 
string question = Request["question"]; 
string answer = Request["answer"]; 
string xqcode = Request["xqcode"]; 
string realname = Request["realname"]; 
string sex = Request["sex"]; 
string tel = Request["tel"]; 
string QQMSN = Request["QQMSN"]; 
string email = Request["email"]; 
string address = Request["address"]; 
if (lb == "checkname") 
{ 
Response.Write(user.CheckUserName(username)); 
} 
if (lb == "reguser") 
{ 
string name = user.CheckUserName(username); 
if (name == "恭喜,该用户名可以注册!") 
{ 
user.Add(username, password, question, answer, xqcode, realname, sex, tel, QQMSN, email, address); 
Response.Write("success"); 
} 
else 
{ 
Response.Write("fail"); 
} 
} 
} 
} 
}

注:registerOK.aspx頁面必須清除只剩下的HTML程式碼,如同只剩下5%@ Page Language。

更多JQuery運用ajax註冊用戶實例(後台asp.net)相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn