event.preventDefault () не работает в Mozilla или IE

Наконец-то я приступил к тестированию своего сайта в других браузерах (построил его в основном в 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>

Ответы на вопрос(5)

Ваш ответ на вопрос