Else if się wykonuje przed spełnieniem warunków

0

Witam. Ostatnio zacząłem robić stronę "bankową" podczas logowania się (przed załadowaniem strony (na localhoscie)) pokazuje się alert "Zły login lub hasło" zanim podaliśmy informacje do textboxa.
Tutaj jest funkcja:

function zaloguj(){
    document.getElementById("field").innerHTML = '<div id="pole" style="text-align: center;">Login: <br /> <input id="login" type="text" /> <br /> Hasło: <br /> <input id="haslo" type="password" /></div> <br /><div style="text-align: center;"> <button type="submit">Zaloguj</button>'
    var podanyLogin = document.getElementById("login").value;
    var podaneHaslo = document.getElementById("haslo").value;

    var login = "root"
    var haslo = "root"

    if(podanyLogin == login && podaneHaslo == haslo){
        var zalogowano = true;
        return zalogowano;
    }
    else if(podanyLogin != login || podaneHaslo != haslo){
        alert("Zły login lub hasło")
    }
}

Wie ktoś jak ten problem rozwiązać? Z góry dzięki.

PS.
Wiem że nie określa się loginu i hasła w js

4

Zobacz, co robi Twój skrypt - renderuje stronę logowania w pierwszej (długiej) linii, następnie bierze podanyLogin i podaneHaslo (są w tej chwili puste (czy raczej undefined), no bo skrypt się wykonuje linijka po linijce, nie zdążysz nic wpisać), porównuje wartości, nie są takie same, więc wywala błąd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1