为什么preventDefault不起作用?

时间:2017-11-06 08:26:35

标签: javascript jquery ajax html5

这是我的javascript代码。注释行有效:

$("#regForm").submit(function(event) {
  // event.preventDefault()
  password = $("#inputPassword3")
  login = $("#inputEmail3")
  user_instance = 0
  $.ajax({
      url: "{{ url_for('get_users') }}",
      method: 'POST'
    }).done(function(data) {
      data.forEach(function(item) {
        if (item.username == login.val() || item.mail == login.val()) {
          user_instance = item
        }
      })
      pass_arr = sjcl.hash.sha256.hash(password.val())
      hash = sjcl.codec.hex.fromBits(pass_arr)
      console.log(hash, user_instance.passwd)
      if (hash != user_instance.passwd) {
        event.preventDefault()
        console.log("+")
        password.attr("style", "border:#f00 solid 1px")
        password.attr("placeholder", "Wrong password")
      }

event.preventDefault()无效:

<div id="regForm">
<form class="form-horizontal" method="POST" action="{{ url_for('login') }}">
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label">Email/Login</label>
    <div class="col-sm-10">
      <input type="imput" class="form-control" id="inputEmail3" placeholder="Email/Login" name="email">
    </div>
  </div>
  <div class="form-group">
    <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
    <div class="col-sm-10">
      <input type="password" class="form-control" id="inputPassword3" placeholder="Password" name="password">
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <div class="checkbox">
        <label>
          <input type="checkbox" name="remember_me"> Remember me
        </label>
      </div>
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <button type="submit" class="btn btn-default" name="sign-in">Sign in</button>
    </div>
  </div>
</form>

无论如何都提交表格,即使形式变化的颜色,为什么呢?当取消注释preventDefault()正在工作时

1 个答案:

答案 0 :(得分:0)

试试这个

$('body').on('submit', 'YOUR-ID' ,function(event) {}