【发布时间】:2025-12-27 22:50:16
【问题描述】:
当用户提交表单时,我正在尝试向服务器发送 AJAX 请求,我这样做是为了检查该电子邮件是否已被其他人使用,或者它是否是新的。
这是我的 javascript AJAX 函数
function check_entireform()
{
var new_email = document.getElementById('jemail').value;
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var y =xmlhttp.responseText;
if(y=="user with that email is already registered")
return false;
}
}
var x ="user_exists.php?email="+ new_email;
xmlhttp.open("GET",x,true);
xmlhttp.send();
}
这是我的 html 输入标签
<form method="post" action="./new.php" onsubmit="return check_entireform()">
<input type="text" name="email" id="jemail"/>
</form>
这是我的 user_exists.php 文件
<?php
$email=$_GET["email"];
if(mysql_query("SELECT email FROM user_info WHERE email='$email'"))
echo "user with that email is already registered";
else
echo"user got a new email";
?>
当用户提交表单时,我想通过 AJAX 将用户电子邮件发送到 user_exists.php 文件,然后检查该电子邮件是否已被某人使用,如果已在使用中回显一些信息.
我不知道哪里出了问题。我一直在提交相同的电子邮件,但它没有回显,也没有阻止我提交表单。
如果有任何更好的解决方案来确定电子邮件是否已被某人使用,那就太好了。谢谢
【问题讨论】:
-
为什么我无法以正确的方式编辑帖子?有人可以帮我这样做吗?
-
每个代码行应该以 4 个空格开头。代码标签用于在段落中提到代码时突出显示代码
-
感谢约翰编辑帖子!
标签: php javascript ajax forms validation