Почему 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>