如何在不按按钮的情况下检查重复的电子邮件

时间:2016-02-25 10:23:35

标签: javascript c# asp.net

我正在开发一个Web应用程序,它应该在不按下按钮的情况下检查重复的电子邮件地址。必须使用数据库数据检查此检查。请帮助我,因为我是javascript的新手。

非常感谢@Scandinave帮助我。但是当我写入文本框时,它没有进入代码文件(即没有触发该方法)。这是我正在尝试的:

    $(document).ready(function () {
            //Listen for change event
            $("input[name='TextBox1']").keyup(function () {
                //Get input fields values
                var $email1 = $("input[name='TextBox1']").val();
                //Make ajax request
                $.ajax({
                    method: "POST",
                    url: "Default.aspx.cs/test",
                    data: { email1: $email1}
                }).done(function (msg) {
                    //Check the JSON result send by backend
                    if (msg === "true") {
                        console.log("emails are identicals");
                    }
                });
            });
        });

2 个答案:

答案 0 :(得分:1)

Ajax是实现这一目标的方法。只需听听" onChange"输入字段上的事件并进行ajax调用。如果你有两个这样的字段:

<input type="email" name="email" placeholder="your email address"/>
<input type="email" name="confirmeEmail" placeholder="Confirm your email"/>

您可以使用jQuery对后端进行ajax调用。像这样:

// wait for all Document to be load. 
$(document).ready(function() {
    //Listen for change event
    $("input[name='confirmEmail']").keyup(function() {
        //Get input fields values
        var $email1 = $("input[name='email']").val();
        var $email2 = $("input[name='confirmEmail']").val();
        //Make ajax request
        $.ajax({
            method: "POST",
            url: "your-backend-adresse",
            data: { email1: $email1, email2: $email2 }
        }).done(function( msg ) {
            //Check the JSON result send by backend
            if(msg === "true") {
                 console.log("emails are identicals");
            }
        });
    });
});

更简单,没有请求后端。但是你不能进行额外的验证,例如&#34;电子邮件存在&#34;你可以做上面的回应。

// wait for all Document to be load. 
$(document).ready(function() {
    //Listen for change event
    $("input[name='confirmEmail']").keyup(function() {
        //Get input fields values
        var $email1 = $("input[name='email']").val();
        var $email2 = $("input[name='confirmEmail']").val();
        //Check if email are identical. 
        if($email1 === $email2) {
            console.log('Email identical');
        }
    });
});

在这里,我们只检查$ email1是否等于$ email,并在控制台中显示一条消息。

答案 1 :(得分:0)

您需要在此处提及有关您的要求的更多详细信息。在线免费提供大量文章供您查询。

您可以执行以下操作: -

private void CheckEmail(ref string EmailAddress)
{
    if ((ds.Tables("Check") != null))
    {
        ds.Tables("Check").Clear();
    }
    string str = "select * from yourtablename where Email='" + EmailAddress + "'";
    SqlDataAdapter Da = new SqlDataAdapter(str, Con);
    Con.Open();
    Da.Fill(ds, "Check");

    if (ds.Tables("Check").Rows.Count > 0)
    {
        lbl.text = "Email Exists";
    }
    else
    {
        lbl.text = "Email Not fount";
    }
    Con.Close();
}

注意您可以创建STORED PROCEDURE,因为我的查询很容易被SQL注入。这只是为了逻辑基础。

您也可以查看以下文章以了解您的要求。

<强> Check Email Id duplicate or not