我试图使用的AJAX方法是禁用另一个jQuery方法

时间:2013-05-10 18:25:40

标签: php jquery ajax preventdefault

这一块AJAX

            $('input#adminLogin').on('submit', function() {
                var username = $('#username').val();
                var password = $('#password').val();
                if (username == '' || password == '')
                    $('#errForm').fadeIn(200).text('You must enter a username and password');
                else {
                    $.ajax ({
                        type: 'post',
                        url: '/classes/login/Authenticator.php',
                        data: $('#login_form').serialize(),
                        cache: false,
                        success: function(data) {
                            if(data == 'You entered an invalid username or password');
                                $('.actionDiv').fadeIn(200).html(data);
                            else
                                $('.fade_bg').fadeOut(200);
                        }
                    });
                }
            });

制作这个jQuery

$('a#aLogin').on('click', function (e) {
    e.preventDefault();
    $('.fade_bg').fadeIn(200);
    $('a#aLogin').hide();
});

不起作用,无论我是否在AJAX方法中都有e.preventDefault()。怎么样?

HTML

<div class="fade_bg">
        <div class="actionDiv">
            <span id="errForm"></span>
            <form id="login_form" action="./classes/login/Authenticator.php" method="post">
                <p>username: <input type="text" name="username" id="username" /></p>
                <p>password: <input type="password" name="password" id="password" /></p>
                <p><input type="submit" name="adminLogin" value="Log in" id="adminLogin" /></p>
            </form>
            <p><a id="cancelLogin" href="">Cancel</a></p>
        </div>
        <div id="topRight">
                <a id="aLogin" href="">Admin login</a>
                <form id="exit" action="./classes/login/ExitDoor.php" method="post">
                    <p>
                    <?php
                        if ($_SESSION['logged-in'] == 1)
                            print '<span id="greeting">Welcome, ' . $_SESSION['firstName'] . ' | </span>';
                    ?>
                    <input id="aLogout" type="submit" name="adminLogout" value="Log out" />
                    </p>
                </form>
            </div>

1 个答案:

答案 0 :(得分:0)

您的第一个代码段中存在语法错误。这就是为什么第二个不再执行了。

删除此行末尾的分号

if(data == 'You entered an invalid username or password'); <--

所有主流浏览器都有内置的开发者工具。通过查看开发人员控制台,您可以非常快速地找到此类错误。

在您的示例中,chromes控制台会显示此信息 - http://i43.tinypic.com/xqg48.jpg