Fredolin92: Ajax Request funktioniert nicht <- Passwortcheck

Beitrag lesen

Hallo liebe Community,
kurz und knapp! Ich probiere gerade etwas mit Ajax rum und habe mich am folgenden Beispiel probiert: Ajax-Beispiel: Passwortcheck

Ich habe nun zwei Dateien, dessen Quelldateien wie folgt aussehen:

ajax.html:

  
<head>  
  
<title>AJAX-Beispiel</title>  
  
<script type="text/javascript">  
function testekennwortqualitaet(inhalt)  
    {  
        if (inhalt=="")  
        {  
            document.getElementById("sicherheitshinweise").innerHTML="keine Eingabe da";  
            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("sicherheitshinweise").innerHTML=xmlhttp.responseText;  
            }  
        }  
        xmlhttp.open("GET","kennworttesten.php?q="+inhalt,true);  
        xmlhttp.send();  
    }  
</script>  
  
</head>  
  
<html>  
  
<input type="password" size="10" value=""  
onchange="testekennwortqualitaet(this.value)" />  
<span id="sicherheitshinweise">hier kommt dann der AJAX-Inhalt</span>  
  
</html>  

Und die kennworttesten.php:

  
<?php  
$passwort = $_GET['q'];  
$sicherheitszahl = 0;  
$sicherheitszahl = strlen($passwort);  
if (preg_match("/[a-z]+/", $passwort)) {  
    $sicherheitszahl = $sicherheitszahl + 5;  
}  
if (preg_match("/[A-Z]+/", $passwort)) {  
    $sicherheitszahl = $sicherheitszahl + 5;  
}  
if (preg_match("/[0-9]+/", $passwort)) {  
    $sicherheitszahl = $sicherheitszahl + 5;  
}  
if ($sicherheitszahl <= 18 ) {  
    echo 'unsicher ('.$sicherheitszahl.' Punkte)';  
}  
elseif ($sicherheitszahl <= 25) {  
    echo 'sicher ('.$sicherheitszahl.' Punkte)';  
}  
elseif ($sicherheitszahl > 25) {  
    echo 'sehr sicher ('.$sicherheitszahl.' Punkte)';  
}  
?>  

Das Script, bzw. der Passwortcheck funktioniert nur mit einem Enter in dem Inputfeld. Ich möchte jedoch, dass es mit einer Änderung des Inhaltes im Feld in Verbindung steht. Wie kann ich dies ändern?

Lieben Gruß,
Felix