如果电子邮件已存在或为空,请检查文本输入

Posted

技术标签:

【中文标题】如果电子邮件已存在或为空,请检查文本输入【英文标题】: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/>

【问题讨论】:

【参考方案1】:

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

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

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

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

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

【讨论】:

以上是关于如果电子邮件已存在或为空,请检查文本输入的主要内容,如果未能解决你的问题,请参考以下文章

Woocommerce-如果计费电话已经存在,请检查

手机cs扫描后上传电脑图片显示文件不存在或为空

Flutter - 文本编辑控制器为空,但 Flutter 认为存在价值?

如何检查数据读取器是不是为空或为空

在 xcode 8 中登录的 UI 测试

如果值为空,请检查“输入类型”,然后插入默认文本