HTML window.location.href geht nicht?
Ich weiss nicht genau wo hier der Fehler ist aber er leitet nicht beim richitgen namen und passwort weiter? Weiß jemand woran das liegt? Ich bin relativ am anfang mit html.
<script>
document.addEventListener('DOMContentLoaded', function() {
function login() {
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
if (username === 'test123' && password === 'test') {
window.location.href = 'http://www.google.com';
} else {
alert('Ungültiger Benutzername oder falsches Passwort.'); // Fehlermeldung bei ungültigen Daten
}
return false;
}
var loginButton = document.getElementById('loginButton');
loginButton.addEventListener('click', login);
});
</script>
Zeig mal dein HTML dann helf ich dir weiter
2 Antworten
1) In deinem Pastebin verwendest du einen Zuweisungsoperator, statt einem Vergleichsoperator.
if (username = 'test123' // ...
So, wie es in deinem Snippet im Fragetext steht, ist es richtig.
2) Buttons ohne type-Attribut sind nach Standard Submit-Buttons. Innerhalb eines Formulars bewirkt dieser Buttontyp bei Klick, dass der Browser den Nutzer mitsamt dessen Formulardaten zum Formularziel (action) weiterleitet.
Um dieses Verhalten zu umgehen, müsstest du entweder den button-Typ verwenden:
<button id="loginButton" type="button">Login</button>
oder den Aufruf des Standardereignishandler in der Ereigniskette umgehen, indem du die preventDefault-Methode aufrufst:
function login() {
event.preventDefault();
/* ... */
username === 'test123' && password === 'test'
Ist vielleicht ein wenig zu strikt? Probier mal "=="
Eventuell hast du dich auch verschrieben?
Er erkennt es auch, und wenn man was falsches eingeibt kommt halt die alert box
Der strikte Vergleichsoperator ist richtig. Beide Werte sollen Strings sein.