文本框失去焦点的时候进行ajax 验证

一个邮箱的文本框,失去焦点的时候进行验证,如果格式错误,提示错误信息, 如果格式正确,再进行ajax请求,去库里查是否此邮箱被注册过,要用传统的ajax,我把ajax这些写在js里面了,总之,弄了半天没效果,求高手发一份,去库里验证那部分不用发了,
<input type="text" name="mail" id="mail" onblur=“mailBlur()”/>
在js中
function mailBlur(){
求补充,完善这部分,以及ajax请求部分

}

通过给文本框绑定onblur事件,事件发生执行提交ajax验证的函数。


onbluer事件 定义和用法

  onblur 事件会在对象失去焦点时发生。


语法

  onblur="SomeJavaScriptCode"


支持该事件的 HTML 标签:


支持该事件的 JavaScript 对象:


实例


  在本例中,我们将在用户离开输入框时执行  JavaScript 代码:

<html><head><script type="text/javascript">function upperCase(){var x=document.getElementById("fname").valuedocument.getElementById("fname").value=x.toUpperCase()}</script></head><body>输入您的姓名:<input type="text" id="fname" onblur="upperCase()" /></body></html>

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-06-14
 var Email = $("#mail").val();
  //ajax开始
                    $.ajax({
                        type: "Post",//请求形式
                        url: "Ajax/LoginRegister.ashx",//处理文件路径
                        data: {
                            op: "2",//判断调用处理文件中的那个方法
                            Email : Email //需要传递的参数
                        },
                        cache: false,
                        async: false,//是否异步
                        dataType: "html",//返回的数据类型 
                        success: function (data) {
                            if (data > 1) {
                                $("#spIsEmail").html("* 该邮箱已被注册!");
                                return false;
                            }
                            else {
                                $("#spIsEmail").html("√");
                            }
                        },
                        error: function () {
                            alert('数据繁忙,请稍后!');
                        }
                    })//end ajax

data中参数 op补充

一个处理文件中可以写多个方法,为了有效的识别调取那个方法就衍生了op这个参数。

需要在处理文件中做以下处理

public void ProcessRequest(HttpContext context)

    {

        context.Response.ContentType = "text/plain";

        string operate =  Request.QueryString["op"];//取出参数 


        string returnString = "";   //返回的字符串

        switch (operate)

        {

            case "0":

                returnString = CheckEmailIsOk(); // 验证邮箱与用户是否匹配

                break;

            case "1":

                returnString = 方法名称(); //第二个方法

                break;

            case "2":

               returnString = 方法名称); // 第三个方法

                break;

        }

        context.Response.Write(returnString);

        context.Response.End();

    }

追问

求个联系方式吧, 我还没弄出来, 到家后给你发我的代码,求了,

第2个回答  推荐于2018-02-27
function ajax(object){
var url = object.url || "";
if(!url) return;
var method = object.method || "GET";
var data = object.data || null;
var handler = object.handler || function(){};
var xmlHttp;
var data;
if(window.XMLHttpRequest){
xmlHttp = new window.XMLHttpRequest();
}else if(window.ActiveXObject){
xmlHttp = new window.ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open(method,url,true);
xmlHttp.send(data);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status ==0 || xmlHttp.status == 200){
if(xmlHttp.responseXML){
data = xmlHttp.responseXML;
}else{
if(window.JSON&&window.JSON.parse){
data = window.JSON.parse(xmlHttp.responseText);
}else{
data = eval("("+xmlHttp.responseText+")")
}
}
handler(data);
}else{
showMsg("系统繁忙,请稍后再试。");
}
}
}
}
调用此方法就可以!传入请求路径,自己处理回调函数!全部是自己手写!原始的ajax请求,望采纳!

本回答被网友采纳
第3个回答  2013-09-11
用的onblur 吗
我看你<input type="text" name="mail" id="mail" onblur=“mailBlur()”/>

这里的括号好像是中文的哦:
onblur="mailBlur()"本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网