我正在尝试使用jquery构建一个小型登录系统(因为它仅用于测试目的,用户和密码不会改变)所以我做了一个表单,当你点击按钮我测试细节是否是正确。如果是这样,你将被发送到下一页。如果不是我发出警报。
它有效,但我有一些奇怪的东西。您第一次访问该网站并填写详细信息时它什么都不做。第二次(提交后)它的工作方式应该如此。
有人知道为什么吗?
以下是代码:
function controllogin() {
event.preventDefault();
var username = $("#gebruikersnaam").val()
var password = $("#wachtwoord").val()
if (username=="leerkrachten" && password=="leerkrachten") {
alert("welkom leerkrachten");
goToUrl();
}
else if (username=="leerling" && password=="leerling") {
alert("welkom leerling");
}
else {
alert("verkeerde gegevens ingevuld");
}
};
function goToUrl() {
alert("zoeken naar pagina");
window.location = 'leerkrachten/vakken.html';
};
答案 0 :(得分:0)
而不是onclick="controllogin();"
尝试这样的事情:
$('document').ready(function() {
$('#submit').click(function(event) {
event.preventDefault();
var username = $("#gebruikersnaam").val()
var password = $("#wachtwoord").val()
if (username==="leerkrachten" && password==="leerkrachten") {
alert("welkom leerkrachten");
goToUrl();
}
else if (username==="leerling" && password==="leerling") {
alert("welkom leerling");
}
else {
alert("verkeerde gegevens ingevuld");
}
});
});
同时使用===
代替==
作为运算符来比较字符串,它可以防止您在比较不同类型时出现一些奇怪的结果。也许这就是为什么它第一次不起作用,但第二次起作用。否则我不知道为什么会这样。
但实际上我不得不说:永远不要进行客户端登录验证,不要使用未加密的密码进行登录验证(甚至不是服务器端)!