【问题标题】:Check text input if email already exist or empty如果电子邮件已存在或为空,请检查文本输入
【发布时间】:2020-12-30 18:37:48
【问题描述】:

我想获取 txtEmail 输入的值,并在文本输入失焦后检查它是否已被使用。假设只使用一个电子邮件地址,即 john.doe@example.com。如果电子邮件已经存在,它将返回一条错误消息,表明它已经存在。如果文本字段为空,它也会返回错误消息

“Checkemail.php”

<?php
header('Access-Control-Allow-Origin: *');
if ($_REQUEST['email'] == 'john.doe@example.com') {
    echo -1;    
} else {
    echo 1;
}
?>

Scripts.js

    document.getElementById("txtEmail").addEventListener("focusout", outOfFocus);

function outOfFocus(){
    var txtEmail = $("#txtEmail").val();
    console.log(txtEmail);

    $.ajax({
        type:"POST",
        url:"checkemail.php?email=<email>",
        data: txtEmail,
        
        success: function(data){
            console.log("Success!");
        },

        error: function(){
            document.getElementById("#emailError").innerHTML = "Email address already used!"
        }
    })
}

电子邮件.html

<label for="lblEmail">Email : </label>
<input type="email" id="txtEmail">
<label for="emailError" id="emailError"></label><br/>

【问题讨论】:

    标签: html jquery json ajax post


    【解决方案1】:

    “blur”是您想要的事件 - 据我所知,没有“focusout”,除非您使用的是具有该功能的库

    另外,发送 POST 请求时,您不需要查询字符串(即该行应该只是 url:"checkemail.php",因为数据只会在 POST 正文中发送)

    您还应该使用 $_POST 访问变量服务器端,而不是 $_REQUEST

    同样,如果您通过 POST 变量名称引用事物,您可能必须发送一个键值对象,而不仅仅是字符串。只需从 jQuery 文档中复制一个示例。您也可以使用 $.post 方法,这是手动将 $.ajax 方法设置为 post 的简写

    如果你完成了所有这些步骤,那应该可以帮助你完成大部分工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-09
      • 1970-01-01
      • 2016-07-23
      • 2012-12-31
      • 1970-01-01
      • 2012-06-27
      • 2016-12-06
      • 1970-01-01
      相关资源
      最近更新 更多