表单事件中的按钮始终返回false

时间:2016-08-27 01:09:57

标签: javascript forms

所以我有一个表单,一个id和密码以及一个提交按钮,当用户填写并提交按钮时,有一个函数检查id是否匹配密码。但它总是在函数中返回false。为什么?这是代码:

    <form>
        <input type="text" name="u" placeholder="ID" required="required" />
        <input type="password" name="p" placeholder="Password" required="required" />
        <button id="but" type="submit" class="btn btn-primary btn-block btn-large">Enter Workspace</button>
    </form>

    $(document).ready(function(){
        $('#but').click(function(e) {
            e.preventDefault(); 
            console.log("in function");
            var ID=$('input[name=u]').val();
            var password = $('input[name=p]').val();
            if(personnel[ID]){
                if(personnel[ID].password === password){
                    window.open("Workspace/index.html");
                }
                else{
                    alert("Incorrect ID Or Password")
                }

            }
            else{
                alert("Incorrect ID Or Password")
            }
        });
    });

var人员在另一个脚本中,

<script src="L/scripts.js"></script>

1 个答案:

答案 0 :(得分:1)

问题是您的密码是数字,但.val()会返回一个字符串。并且您正在使用与===的严格比较,因此它不会强制执行这些类型。

您应该将密码更改为personnel中的字符串。

&#13;
&#13;
var personnel = {
  "I000001": {
    "password": "125827"
  },
  "I000002": {
    "password": "192374"
  },
  "I000003": {
    "password": "197292"
  },
  "I000004": {
    "password": "193287"
  },
  "I000005": {
    "password": "142823"
  },
  "I000006": {
    "password": "192373"
  },
  "I000007": {
    "password": "192834"
  },
  "I000008": {
    "password": "123241"
  },
  "I000009": {
    "password": "192392"
  },
  "I000010": {
    "password": "200029"
  },
};

$(document).ready(function() {
  $('#but').click(function(e) {
    e.preventDefault();
    console.log("in function");
    var ID = $('input[name=u]').val();
    var password = $('input[name=p]').val();
    if (personnel[ID]) {
      if (personnel[ID].password === password) {
        alert("Password is correct");
      } else {
        alert("Incorrect Password");
      }
    } else {
      alert("Incorrect ID");
    }
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="u" placeholder="ID" required="required" />
<input type="password" name="p" placeholder="Password" required="required" />
<button id="but" type="submit" class="btn btn-primary btn-block btn-large">Enter Workspace</button>
&#13;
&#13;
&#13;