JQuery运用ajax注册用户实例(后台asp.net)

 更新时间:2009年12月21日 23:21:32   作者:  
JQuery运用ajax注册用户实例,其实那中后台语言都是差不多的形式。
复制代码 代码如下:

//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: 'registerOK.aspx',
type: 'POST',
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: 'html',
timeout: 1000,
error: function() { alert('出现未知错误,请与QQ:6434789联系。'); },
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代码,如只剩下<%@ Page Language="C#" AutoEventWireup="true" CodeFile="registerOK.aspx.cs" Inherits="registerOK" %>。

相关文章

  • ASP.NET Core中使用Swagger

    ASP.NET Core中使用Swagger

    这篇文章介绍了ASP.NET Core中使用Swagger的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 在VS2009中集成自动上传nuget包到服务器的解决方案

    在VS2009中集成自动上传nuget包到服务器的解决方案

    这篇文章主要介绍了在VS2009中集成自动上传nuget包到服务器的解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 在 .NET MAUI 中加载 json 文件的方法

    在 .NET MAUI 中加载 json 文件的方法

    这篇文章主要介绍了如何在 .NET MAUI 中加载 json 文件,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • ASP.NET中页面之间传递值的几种方式整理

    ASP.NET中页面之间传递值的几种方式整理

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值、存储对象传值、ajax、类、model、表单等,这里简单的整理下,需要的朋友可以收藏下
    2012-05-05
  • c# indexof 用法深入理解

    c# indexof 用法深入理解

    在开发过程中经常会使用到c# indexof 查找字串中指定字符或字串首次出现的位置,返首索引值,本文将详细介绍,需要的朋友可以参考下
    2012-11-11
  • ASP.NET Core3.1 Ocelot负载均衡的实现

    ASP.NET Core3.1 Ocelot负载均衡的实现

    这篇文章主要介绍了ASP.NET Core3.1 Ocelot负载均衡的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • ASP.NET 2.0下的条件编译

    ASP.NET 2.0下的条件编译

    ASP.NET 2.0下的条件编译...
    2006-09-09
  • ASP.NET Core中使用Redis实现缓存

    ASP.NET Core中使用Redis实现缓存

    本文详细讲解了ASP.NET Core中使用Redis实现缓存的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现

    Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现

    这篇文章主要给大家介绍了关于Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的相关资料,文中通过示例代码及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2018-05-05
  • asp.net GridView和DataList实现鼠标移到行行变色

    asp.net GridView和DataList实现鼠标移到行行变色

    在设计页面添加了DataList控件后,我在使用DataList绑定数据时是通过单元格来绑定的,因此鼠标效果就在源代码页面去实现
    2009-02-02

最新评论