CustomValidator控件+ajax 实现注册时的异步验证
在.net的验证控件中有一个CustomValidator验证控件,其属性ClientValidationFunction为客户端函数,在需要验证的控件失去焦点或者post数据时,调用该函数。
前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomValidatorTest.aspx.cs" Inherits="Web.CustomValidatorTest" %>
<!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>
<mce:script type="text/javascript" src="jquery/jquery-1.2.6-vsdoc-cn.js" mce_src="jquery/jquery-1.2.6-vsdoc-cn.js"></mce:script><%--jquery文件--%>
<mce:script type="text/javascript"><!--
function validator(oSrc, args) {
//oSrc 为object 类型,为CustomValidator1对象
//args为有两个属性:Value为验证控件的值,
// IsValid 为bool类型,表示是否验证通过
$.ajax({
async: false, //同步,异步不行,在ajax为返回之前,函数就结束,提交IsValid的值了。
type: "POST",
url: "CustomValidatorTestHander.ashx",
data: "val=" + args.Value,
success: function(msg) {
if (msg == "123") {
//如果后台返回值为123,验证失败
args.IsValid = false;
//todo
//这里是否可以修改oSrc对象来实现异步请求呢?
}
}
});
}
// --></mce:script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>输入123验证失败:</td>
<td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
<td><asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="验证不通过"
相关文档:
最近网上提的很多的一个新概念就是 AJAX 了, 那么, AJAX 是什么呢? 以下内容引用网上资料:
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机地包含了以下几种技术:
Ajax(Asynchronous JavaScript + XML)的定义
基于 web标准(sta ......
1. 实现对属性的 Ajax 修改:
1). 发送的 ajax 请求中需要包含哪些信息呢
①. 要修改的员工的 id.
②. 要修改的属性的名字.
③. 要修改的属性的值.
......
1、当改变服务器上的状态时应当使用POST方法。不同于GET,需要设置XML- HttpRequest对象的Content-Type首部,如下所示:
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
与GET不同,POST不会限制发送给服务器的净荷的大小,而且POST请求不能保证是幂等的。
你做的大多数请求可能都是G ......
XMLHttpRequest对象是Ajax的核心,它有许多属性,方法和事件以便于脚本的处理和控制HTTP的请求与响应
下面是关于XMLHttpRequest对象的一些属性和方法介绍
1.readyState属性
当XMLHttpRequest对象被创建后,readyState属性标识了当前对象所处的状态,具体的值代表意义如下:
0 未初始化状态, ......
以我以前写的一个练习AJAX的会员注册页面为例。
下面这些主要是在输入用户名,光标离开输入框就进行判断该用户名是否合法的ajax方法。
(1)Xmlhttprequest AJAX之核心
function S_Xmlhttprequest(){
if(window.ActiveXObject) //IE
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
else if(window.XmlHTTPRe ......