Почему event.preventDefault() не работает?

Надо чтобы когда пишешь не правильный логин или пароль то не пашёл в админ. Это JS.

var login = $("#login");       
var loginAdmin = $("#loginAdmin");
var passAdmin = $("#passAdmin");
function wrongLogin(event){
    event.preventDefault();
}
  login.click(function(){
    if(loginAdmin.val()=="Admin" && passAdmin.val()=="1234"){
        
    }
    else{
        wrongLogin();
       // console.log("ewewww");
    }
});

Это PHP

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<form action="admin.php" method="post">
    <input type="text" name="loginAdmin" id="loginAdmin"><label>Name</label><br><br>
    <input type="password" name="passAdmin" id="passAdmin"><label>Password</label>
    <br> <br>
    <button name="login" id="login">Login</button>
    </form>

</body>
</html>





Архив с файлами.
disk.yandex.ru/d/jTuHjzouYUZIvQ 

Ответы (1 шт):

Автор решения: Get-Web

Потому что вы вешаете событие на клик по кнопке и не передается event в функцию wrongLogin. Для того чтобы управлять формой вам нужно подписаться на событие submit. Выглядеть это будет примерно так:

var login = $("#login");       
var loginAdmin = $("#loginAdmin");
var passAdmin = $("#passAdmin");

  $('form').submit(function(event){
    if(loginAdmin.val()=="Admin" && passAdmin.val()=="1234"){
        
    }
    else{
        event.preventDefault();
        alert('Валидация не пройдена!');
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="admin.php" method="post">
    <input type="text" name="loginAdmin" id="loginAdmin"><label>Name</label><br><br>
    <input type="password" name="passAdmin" id="passAdmin"><label>Password</label>
    <br> <br>
    <button name="login" id="login">Login</button>
    </form>

→ Ссылка