这一块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>
答案 0 :(得分:0)
您的第一个代码段中存在语法错误。这就是为什么第二个不再执行了。
删除此行末尾的分号
if(data == 'You entered an invalid username or password'); <--
所有主流浏览器都有内置的开发者工具。通过查看开发人员控制台,您可以非常快速地找到此类错误。
在您的示例中,chromes控制台会显示此信息 - http://i43.tinypic.com/xqg48.jpg