我终于可以在其他浏览器中测试我的网站了(主要是在 Chrome 中构建的)。不幸的是,很多东西的功能似乎不同。我将从第一个问题开始:登录时,我有一个 JS/jQuery 检查以确保用户名和密码匹配,并且在失败时它应该停止提交。
然而,虽然它在 Chrome 和 Safari 中有效,但在 Mozilla 和 IE 中,提交仍在进行中(点击道歉页面,但我仍然宁愿根本看不到)。
我已经尝试替代event.preventDefault()
或e.preventDefault()
但evt.preventDefault()
它们都不起作用,表单仍然提交(并且对于后两个它使它也可以在 Chrome 中提交)。这是我的代码,希望有任何想法:
function checkLogin()
{
// get the variables, execute some other checks (eg, things not blank)
// run ajax code to determine if pieces match
$.ajax({
type: "POST",
url: "check_login.php",
data: {'username': username, 'password': password},
async: false,
success: function(result)
{
if (result == 1)
{
$('#loginoff').html("Invalid username/password");
e.preventDefault();
return false;
}
else
{
$('#loginoff').html("");
return true;
}
}
});
}
请注意,当用户名和密码不匹配时,该函数肯定会通过并返回 1,因为在所有情况下,都会出现“无效的用户名/密码”消息。
此外,如果有人对 HTML 感兴趣:
<form action="login.php" method="post" onsubmit="return checkLogin()">
<!-- code for inputs, eg username -->
<input type="submit" class="btn" value="Log In"/>
</form>