<!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的入门者我想知道如何修复这种类型的错误?我从萤火虫检查它。流程是在用户完成键入电子邮件后,它将自动从数据库中检查是否存在。并且预期的输出不会显示在我的页面中。
答案 0 :(得分:2)
你在选择器上缺少引号,用分号而不是逗号等分隔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;
}
答案 1 :(得分:1)
添加另一个<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>
答案 2 :(得分:0)
<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>
答案 3 :(得分:0)
修改
$.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);
}
答案 4 :(得分:0)
<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。
答案 5 :(得分:0)
将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>