0

こんにちは、ajax を使用して単純なユーザー名とパスワードを login.php に送信しようとしています。これは、false または true の 2 つの結果を返します。問題は、#loginbutton をクリックすると、読み込み中のように見えますが、その後何も表示されません (アラートやページの再読み込みはありません)。

これが私のスクリプトです

    <script>
$(document).ready(function(){
    $('#loginbutton').click(function() {
$('#loginform').submit(function() { // catch the form's submit event
    $.ajax({ // create an AJAX call...
        data: $(this).serialize(), // get the form data
        type: $(this).attr('method'), // GET or POST
        url: $(this).attr('action'), // the file to call
        success: function(result) { // on success..
            if (result == 'false') {
            alert("Login failed.\n\nThe username and password doesn't match or perhaps the username doesn't exist.\n\nMake sure you have checked your email and validate your account.");
            }
            else if (result == 'true') {
            alert("Thank you, the registration was successful. \nWe have sent you an email, please validate your account. \nClick OK and we will redirect you to the homepage.");
            window.location.replace("http://127.0.0.1/wordpress/");
        }
        }
    });
    return false; // cancel original event to prevent form submitting
});     
});
});
</script>

そして私のログインフォーム(私はこれをワードプレスと統合しようとしています)

<?php 
                        $templateDirectory= get_bloginfo('template_directory');

                            echo'
                        <form id="loginform" action="'.$templateDirectory.'/login.php" method="post" class="login">
                        <a href="#" onClick="document.getElementById(\'loginform\').submit();" class="linkit">LOGIN</a>
                        <div class="para"><input type="text" name="uname" placeholder="Username ..." onkeydown="if (event.keyCode == 13) document.getElementById(\'loginform\').submit()"> <br><input type="password" name="pass" placeholder="Password ..." onkeydown="if (event.keyCode == 13) document.getElementById(\'loginform\').submit()"></div>
                        </form>';

?>

誰が何が悪いのか教えてください:(

4

1 に答える 1

1

クリックハンドラー内にフォーム送信ハンドラーを追加しています...必須ではありません...試してください

$(document).ready(function () {
    $('#loginform').submit(function () { // catch the form's submit event
        $.ajax({ // create an AJAX call...
            data: $(this).serialize(), // get the form data
            type: $(this).attr('method'), // GET or POST
            url: $(this).attr('action'), // the file to call
            success: function (result) { // on success..
                if (result == 'false') {
                    alert("Login failed.\n\nThe username and password doesn't match or perhaps the username doesn't exist.\n\nMake sure you have checked your email and validate your account.");
                } else if (result == 'true') {
                    alert("Thank you, the registration was successful. \nWe have sent you an email, please validate your account. \nClick OK and we will redirect you to the homepage.");
                    window.location.replace("http://127.0.0.1/wordpress/");
                }
            }
        });
        return false; // cancel original event to prevent form submitting
    });
});
于 2013-10-26T15:45:01.413 に答える