jquery代码工作但不是第一次

时间:2013-12-19 14:19:57

标签: javascript jquery

我正在尝试使用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';       
};

1 个答案:

答案 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");
       }
    });
});

同时使用===代替==作为运算符来比较字符串,它可以防止您在比较不同类型时出现一些奇怪的结果。也许这就是为什么它第一次不起作用,但第二次起作用。否则我不知道为什么会这样。

但实际上我不得不说:永远不要进行客户端登录验证,不要使用未加密的密码进行登录验证(甚至不是服务器端)!