Поскольку вы отправляете форму (используя type=submit
), ваша форма пропускает проверку javascript. Быстрое решение состоит в том, чтобы изменить:
<input type = "submit" value = "Login" />
Кому:
<input type = "button" value = "Login" />
И вам это не нужно: onsubmit = "return(validateForm());"
просто вызовите функцию onclick или с прослушивателем событий
Конечно, вам нужно получить значения из функции, чтобы проверить ее, а затем, после проверки правильности введенных данных:
if (username == 'username' && password == 'password'){
Чтобы сделать все, что вы хотите (либо перенаправить пользователя фактически отправляя форму, используя submit()
метод).
Я немного изменяю ваш код, и это должно работать:
document.querySelector('#submit').addEventListener('click', validateForm);
function validateForm(){
var username = document.querySelector('#username').value;
var password = document.querySelector('#password').value;
if (username === 'username' && password === 'password') {
document.querySelector('#sucess').textContent = 'sucessful login';
// redirect or submit
}
else {
document.querySelector('#error').textContent = 'invalid credentials';
}
}
#error{color:red; font-style: italic; }
#success{ color:green; font-style:italic; }
<form method="post">
Enter username : <input id='username' type='text' required>
Enter password : <input id='password' type='password' required>
<p id="error"></p>
<p id="sucess"></p>
<button id="submit" type="button">Login</button>
</form>