Ajax Programmierstiloptimierung
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
bearbeitungszeit
belastung
code
datei
eingabe
erledigen
folgendes macht
formular
halten
nachteil
opus
quellcode
safari
url
verbesserung
vereinfachung
vorteil
wiederholen
zeile
zeitpunkt
-
Hallo,
ich habe ein Registrierungsskript geschrieben, das die Inputfelder bei Eingabe per Ajax überprüft (zB wie gleich hier kommt, ob die beiden Kennwörter identisch sind)
(Teil-)Skript:
function pw_identisch(pw1, pw2) { if (pw1 == "" || pw2 == "") { document.getElementById("ausgabe_passwort2").innerHTML="<?php echo "<img src=kreuz.jpg />"; ?>"; return; } if (window.XMLHttpRequest) { // AJAX nutzen mit IE7+, Chrome, Firefox, Safari, Opera xmlhttp=new XMLHttpRequest(); } else { // AJAX mit IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("ausgabe_passwort2").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","auswertung_ajax.php?pw1="+pw1+"&pw2="+pw2,true); xmlhttp.send(); }
mit dem HTML-Formular:
<tr><td>Passwort</td> <td><input type="password" name="passwort" size="30" value="" id="passwort" onkeyup="testekennwortqualitaet(this.value)" onchange="testekennwortqualitaet(this.value)" /> <span id="ausgabe_passwort"></span> <span id="info"></span></td> </tr> <tr><td>Passwort wiederholen</td> <td><input type="password" name="passwort2" size="30" id="passwort2" onkeyup="pw_identisch(document.register.passwort.value, this.value)" onchange="pw_identisch(document.register.passwort.value, this.value)" /> <span id="ausgabe_passwort2"></span></td> </tr>
wie ihr hier seht, wird immer das Skript auswertung_ajax.php aufgerufen, was dann folgendes macht:
if(isset($pw1) AND isset($pw2)) { if($pw1 == $pw2) { echo "<img src=haken.jpg alt= title= />"; $ok_pw2 = true; } else { echo "<img src=kreuz.jpg alt= title= />"; } }
Ich suche jetzt nach einer Möglichkeit, das alles irgendwie ein eine Datei zu "verlagern". Leider bin ich nicht sehr erfahren in Ajax und brauche daher Hilfe. :(
PS: Verbesserungen/Vereinfachungen am Quellcode sind natürlich auch gern gesehen :) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Die .php Datei muss eigenständig sein, da kommst du nicht drum rum.
Aber zu den gewünschten verbesserungen, wieso machst du im JS in der 5. Zeile PHP Code rein? Das geht auch mit reinem JS. -
c143 schrieb:
wieso machst du im JS in der 5. Zeile PHP Code rein? Das geht auch mit reinem JS.
Resp. wenn diese Zeile so im "ausgelieferten" HTML steht, wird wohl nicht viel schlaues passieren wenn man beide Passwörter leer lässt, da zu diesem Zeitpunkt dann gar kein PHP mehr ausgeführt werden kann in der HTML-Datei.
Grundsätzlich kommst du wirklich nicht darum herum, die Dateien getrennt zu halten. Da du aber alle Eingaben so oder so bei der anschliessenden Verarbeitung in PHP (z.B. speichern des Passwortes) nochmals überprüfen musst, könntest du die Prüfung ob die Passwörter identisch sind auch direkt in Javascript machen, ohne dies via Ajax von PHP zu erledigen, denn ich sehe keinen Vorteil dies via Ajax->PHP zu erledigen (es hat sogar Nachteile: Belastung des Servers, längere Bearbeitungszeit da dies via Netz gesendet werden muss). -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage