使用ajax js和php进行onkeypress电子邮件验证
前言:这最终会扩展到一张报名表,但我更关心的是先完成一部分 现在,您将无法连接到我的服务器,但我确实需要帮助,或者至少需要解释为什么此代码不起作用。我已经为此工作了一周左右,没有发现任何与我的问题类似的东西 HTML: 问题肯定出在ajax调用上,但这里是php部分(尚未处于工作状态):使用ajax js和php进行onkeypress电子邮件验证,php,javascript,ajax,validation,email,Php,Javascript,Ajax,Validation,Email,前言:这最终会扩展到一张报名表,但我更关心的是先完成一部分 现在,您将无法连接到我的服务器,但我确实需要帮助,或者至少需要解释为什么此代码不起作用。我已经为此工作了一周左右,没有发现任何与我的问题类似的东西 HTML: 问题肯定出在ajax调用上,但这里是php部分(尚未处于工作状态): 我知道它有很多代码,但我真的很感激你的任何意见。 此外,以下是使用格式正确的电子邮件时页面的响应: 电邮:asdfasdf@yahoo.com 正确..检查 所以我知道它肯定不会进入myRequest.re
我知道它有很多代码,但我真的很感激你的任何意见。
此外,以下是使用格式正确的电子邮件时页面的响应:
电邮:asdfasdf@yahoo.com正确..检查
所以我知道它肯定不会进入myRequest.readystatechange函数,因为如果它在应该返回“无效电子邮件”的位置,至少会返回“无效电子邮件”。您的ajax请求在readystatechange中。这意味着永远不会调用ajax请求 尝试以下方法:
function emailCheck(inputvalue)
{
var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
var span=document.getElementById("emailError");
if(pattern.test(inputvalue))
{
span.innerHTML="true..checking";
var myRequest = new XMLHttpRequest();
var response = myRequest.reponseText;
myRequest.onreadystatechange = function()
{
if(myRequest.readyState == 4 && myRequest.status == 200)
{
if(response.test(inputvalue))
{
span.innerHTML="already in use";
}
else
{
span.innerHTML="valid";
}
}
}
myRequest.open("POST", "email.php", true);
myRequest.send();
}
else
{
span.innerHTML="not valid email";
}
}
我可以看到你的代码有另一个问题。该电子邮件在填写完成之前仍然有效
something@domain.c即使我需要通知我也有效something@domain.com. 使用按钮请求验证哦,哇,谢谢。我已经为ajax部分创建了一个单独的函数,并创建了一个“if matches pattern show validate button”。至于匹配的问题:我本来打算使用一种不同的验证检查技术,但我使用的盒子仅限于我的学校网络(因此我无法访问互联网),因此我发现正则表达式的东西最有用。再次感谢
function emailCheck(inputvalue)
{
var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
var span=document.getElementById("emailError");
if(pattern.test(inputvalue))
{
span.innerHTML="true..checking";
var myRequest = new XMLHttpRequest();
var response = myRequest.reponseText;
myRequest.onreadystatechange = function()
{
if(myRequest.readyState == 4 && myRequest.status == 200)
{
if(response.test(inputvalue))
{
span.innerHTML="already in use";
}
else
{
span.innerHTML="valid";
}
}
myRequest.open("POST", "email.php", true);
myRequest.send();
}
}
else
{
span.innerHTML="not valid email";
}
}
<?php
mysqli_query($con,"select user_email from email");
?>
function emailCheck(inputvalue)
{
var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
var span=document.getElementById("emailError");
if(pattern.test(inputvalue))
{
span.innerHTML="true..checking";
var myRequest = new XMLHttpRequest();
var response = myRequest.reponseText;
myRequest.onreadystatechange = function()
{
if(myRequest.readyState == 4 && myRequest.status == 200)
{
if(response.test(inputvalue))
{
span.innerHTML="already in use";
}
else
{
span.innerHTML="valid";
}
}
}
myRequest.open("POST", "email.php", true);
myRequest.send();
}
else
{
span.innerHTML="not valid email";
}
}