Ergebnis 1 bis 3 von 3
-
15-03-2016, 19:40 #1
Grünschnabel
- registriert
- 10-03-2016
- Ort
- Leipzig
- Beiträge
- 2
Ajax funktioniert nur mit alert
Hallo liebe User, ich hoffe Ihr könnt mir weiterhelfen.
Ich habe eine Login seite, die die Logindaten mit Ajax weiter sendet. Zur zeit funktioniert dies aber nur wenn ein Alert dazwischen steht. Ich habe schon ähnliche Fehler gesucht und gefunden aber ich kann die Lösungen nicht adaptieren. Jetzt hoffe ich, dass ihr mir den Fehler erklären könnt und mir sagt/zeigt wie man diesen verhindern kann.
Zur veranschaulichung hier der Code:
Code:@import models.db.Studiengang @(loggedIn: String)(studiengaenge: List[String]) @main("Login"){ <div class="title"> <h1>Campusduell</h1> </div> <div class="container"> <div class="card"></div> <div class="card"> <h1 class="title">Login</h1> <form> <div class="input-container"> <input type="text" id="loginUsername"/> <label for="loginUsername">Nutzername</label> <div class="bar"></div> </div> <div class="input-container"> <input type="password" id="loginPassword"/> <label for="loginPassword">Passwort</label> <div class="bar"></div> </div> <div class="button-container"> <button id="login"><span>anmelden</span></button> </div> </form> </div> <div class="card alt"> <div class="toggle"></div> <h1 class="title">Registrierung <div class="close"></div> </h1> <form> <div class="input-container"> <input type="text" id="registUsername"/> <label for="registUsername">Nutzername</label> <div class="bar"></div> </div> <div class="input-container"> <input type="password" id="registPassword"/> <label for="registPassword">Passwort</label> <div class="bar"></div> </div> <div class="input-container"> <input type="password" id="controlPassword"/> <label for="controlPassword">Kontroll-Passwort</label> <div class="bar"></div> </div> <div class="input-container"> <input type="text" id="email"/> <label for="email">E-Mail</label> <div class="bar"></div> </div> <div class="input-container"> <div class="Registrierung"> Geschlecht: <select id = "geschlecht"> <option value="1" selected>M</option> <option value="2" selected>W</option> </select><br><br> Studiengang: <select id = "studiengang"> @for(studiengang <- studiengaenge){ <option value = @studiengang selected> @studiengang </option> } </select> </div> </div> <div class="button-container"> <button id = "validation"><span>Los geht's</span></button> </div> </form> </div> </div> <script> checkLoggedIn(@loggedIn); // Dieser Code bewirkt, dass die Navigationsleiste nicht angezeigt wird document.getElementById("navigationsleiste").style.visibility = "hidden"; var username; var password; var email; var geschlecht; var studiengang; var result; $("#validation").click(function(){ username = $("#registUsername").val(); password = $("#registPassword").val(); email = $("#email").val(); geschlecht = $("#geschlecht").val(); studiengang = $("#studiengang").val(); sendRegister(username, password, email, geschlecht, studiengang); }); $("#login").click(function(){ username = $("#loginUsername").val(); password = $("#loginPassword").val(); sendLogin(username, password); // alert("Mit diesem alert funkioniert es.") }); $('.toggle').on('click', function() { $('.container').stop().addClass('active'); }); $('.close').on('click', function() { $('.container').stop().removeClass('active'); }); </script> }
Code:function sendRegister(username, passwort, email, geschlecht, studiengang){ $.ajax({ url: '/registration', method: 'POST', data: JSON.stringify({ "username": username, "passwort": passwort, "email": email, "geschlecht": geschlecht, "studiengang": studiengang, }), success: function(data){ $('#result').text("Success"); }, error:function(data){ $('#result').text("Failure"); }, dataType: 'json', contentType: 'application/json' }); return false; } function sendLogin(username, passwort, loggedIn){ $.ajax({ url: '/login', method: 'POST', data: JSON.stringify({ "username": username, "passwort": passwort, }), success: function(data){ $('#result').text("success"); }, error:function(data){ $('#result').text("Failure"); }, dataType: 'json', contentType: 'application/json' }); return false; } function registrieren(){ function vergleichPasswort(registPassword, controlPassword) { return (registPassword == controlPassword) ? true : alert("Das Passwort wurde richtig eingegeben!") ? false : alert("Die Passwörter sind nicht identisch"); } function passwort(form) { if(vergleiche("batman", form.pass.value)) alert("das Passwort wurde richtig eingegeben!"); else { alert("das Passwort ist falsch!"); form.pass.select(); form.pass.focus(); } } } /* Diese Funktion checkt, ob der User schon eingeloggt ist Wenn ja und er ist auf der Login Seite -> Home seite geleitet Wenn nein und er ist nicht auf der Login Seite -> Login seite geleitet */ function checkLoggedIn(login){ var site = window.location.pathname; if(site != "/login" && login != "1"){ alert("Der User ist nicht eingeloggt und wird zur Login-Seite weitergeführt!"); window.location = "/login"; } else if(site == "/login" && login == "1"){ window.location = "/home"; } }
-
15-03-2016, 21:12 #2
AW: Ajax funktioniert nur mit alert
*freigeschaltet*
Das deutsche Javascript Forum http://forum.jswelt.de
-
16-03-2016, 08:45 #3
AW: Ajax funktioniert nur mit alert
Entferne mal die <form>s (sind sowieso nicht funktional) oder gib' deinen <button>s ein
type="button"
.
PS: Warum arbeitest du mit globalen Variablen?
PPS: Bei einem JS-Problem ist immer ratsam, den Quelltext, der auch beim Browser ankommt, zu zeigen und nicht den Code für irgendeine Templateengine.
Ähnliche Themen
-
[FRAGE] Ajax-Script funktioniert nur mit einem Alert dazwischen...
Von thordirk im Forum JavaScriptAntworten: 4Letzter Beitrag: 02-12-2014, 15:29 -
AW: Skript funktioniert nur mit alert
Von Bluescreen im Forum JavaScriptAntworten: 7Letzter Beitrag: 28-06-2011, 09:13 -
Skript funktioniert nur mit alert
Von WilliT im Forum JavaScriptAntworten: 4Letzter Beitrag: 25-06-2011, 14:10 -
alert funktioniert nicht mit firefox
Von aldra13 im Forum JavaScriptAntworten: 7Letzter Beitrag: 12-03-2010, 01:20 -
Ajax - Kein Alert als requestergebnis.
Von zZap im Forum JavaScriptAntworten: 3Letzter Beitrag: 18-08-2006, 16:00
Lesezeichen