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

本文关键字:情况下 检查 电子邮件地址 按钮 | 更新日期: 2023-09-27 18:36:12

我正在开发一个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");
                    }
                });
            });
        });

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

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");
            }
        });
    });
});

还有更简单的,无需请求后端。但是,您无法执行其他验证,例如"电子邮件存在",您可以使用上述响应进行验证。

// 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');
        }
    });
});

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

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

您可以执行以下操作:-

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 。这只是为了逻辑基础。

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

检查电子邮件ID是否重复

相关文章: