1
<!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の初心者ですが、このタイプのエラーを修正する方法を知りたいですか?ファイアバグからチェックします。フローは、ユーザーが電子メールの入力を完了した後、データベースから電子メールが存在するかどうかを自動的にチェックすることです。そして、期待される出力が私のページに表示されません。

4

6 に答える 6

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;
       }
于 2012-08-29T17:08:11.230 に答える
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>
于 2012-08-29T17:35:16.400 に答える
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>
于 2012-08-29T17:08:25.237 に答える
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);
                }
于 2012-08-29T17:08:31.150 に答える
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に宣言しました。

于 2012-08-29T17:56:52.273 に答える
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>
于 2012-08-30T03:39:13.863 に答える