<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Amateur</title>
<link rel="stylesheet" href="css/reset.css" type="text/css">
<script src="http://code.jquery.com/jquery-1.8.0.js">
function check_email()
{
var email=$("#txtEmail").val();
$.ajax(
{
type:"POST";
url:"index.php";
data:"email="+email,
success:function(msg)
{
$("#chkEmail").html(msg);
}
});
return false;
}
</script>
</head>
<body>
<form method="post">
<label for="txtEmail">E-mail:</label>
<input id="txtEmail" name="email" type="email" onblur="return check_email()">
<label id="chkEmail" for="txtEmail"></label>
<?php
if(isset($_POST['email']))
{
$user='root';
$pdo=new PDO('mysql:host=localhost;dbname=class;charset=utf8',$user);
$email=$_POST['email'];
$stmt=$pdo->prepare('SELECT email from tbl_users WHERE email=:email LIMIT 1');
$stmt->execute(array(':email'=>$email));
if($stmt->rowCount()>0)
{
echo 'E-mail already use.';
}
else
{
echo 'E-mail not use.';
}
}
?>
</form>
</body>
</html>
我仍然是PHP和JQuery的初学者,我想知道如何解决这种类型的错误?我从萤火虫那里检查它。流程是,在用户完成键入电子邮件后,它将自动从数据库中检查它是否存在。并且预期的输出不会显示在我的页面中。
您在选择器上缺少引号,在 ajax 函数中用分号而不是逗号分隔参数等。
function check_email() {
var email=$("#txtEmail").val();
$.ajax({
type:"POST",
url:"index.php",
data: {email: email},
success:function(msg) {
$("#chkEmail").html(msg);
}
});
return false;
}
添加另一个<script>
标签,在同一标签中添加 js 源文件和代码是不正确的方法。
<script src="http://code.jquery.com/jquery-1.8.0.js"></script>
<script>
function check_email()
{
var email=$("#txtEmail").val();
$.ajax(
{
type:"POST";
url:"index.php";
data:"email="+email,
success:function(msg)
{
$("#chkEmail").html(msg);
}
});
return false;
}
</script>
<script src="http://code.jquery.com/jquery-1.8.0.js">
function check_email()
{
var email=$("#txtEmail").val();
$.ajax(
{
type:"post",
url:"index.php",
data:"email="+email,
success:function(msg)
{
$("#chkEmail").html(msg);
}
});
return false;
}
</script>
编辑
$.ajax(
{
type:"post";
url:"index.php";
data:"email="+email,
success:function(msg)
{
$(#chkEmail).html(msg);
}
**TO**
$.ajax(
{
type:"POST",
url:"index.php",
data:{email:email},
success:function(msg)
{
$('#chkEmail').html(msg);
}
<script src="http://code.jquery.com/jquery-1.8.0.js"></script>
<script>
var checkEmail= function()
{
var email=$("#txtEmail").val();
$.ajax(
{
type:"POST",
url:"index.php",
data:"email="+email,
success:function(msg)
{
$("#chkEmail").html(msg);
}
});
return false;
}
</script>
</head>
<body>
<form method="post">
<label for="txtEmail">E-mail:</label>
<input id="txtEmail" type="email" onblur="javascript:checkEmail();">
<label id="chkEmail" for="txtEmail"></label>
</form>
</body>
添加到onblur="javascript:checkEmail();
,我做了一个有点不同的函数,将其声明给 var。
将 jquery 源代码放在单独的脚本上。确保为脚本放置结束标记(而不是自结束标记(。
参数使用逗号,而不是分号。
试试这个:
<script src="http://code.jquery.com/jquery-1.8.0.js"></script>
<script type="text/javascript">
function check_email()
{
var email=$("#txtEmail").val();
$.ajax(
{
type:"POST",
url:"index.php",
data:"email="+email,
success:function(msg)
{
$("#chkEmail").html(msg);
}
});
return false;
}
</script>