jQuery - focusout triggert nicht?

Cr41s3

Ensign
Registriert
Dez. 2012
Beiträge
246
Hallo zusammen.

Habe folgenden Code:

HTML:
<input type="text" class="username form-control" placeholder="Username" name="username" required/>

Und diesen Script Code:
HTML:
<script>
            $(document).ready(function()
            {
                $("#username").focusout(function()
                {
                    console.log("geil");
                    //Check if username is available
                    $.post("inc/check_availability.php", {username:  $("#username").val()}, function(data)
                    {
                        console.log("post");
                        if(data =='false')
                        {
                                $("#username").setCustomValidity("This username is already taken!");
                            }
                            else
                            {
                                alert('username available');
                            }
                        });
                        return false;
                    });
                });
            </script>
Der console.log Befehl wird nicht ausgefüht, aber die
HTML:
$(document).ready(function()
funktioniert bestens.

Hoffe ihr könnt mir sagen wo der Fehler liegt.
Das Cript habe ich übrigens von hier:
http://stackoverflow.com/questions/19085156/using-javascript-to-run-a-php-script-to-check-username

MfG-
 
Dein Input hat keine id, id="username"!

edit. fiddle http://jsfiddle.net/d6ryqoqf/

Laut Doku liefert die Callback Funktion von $.post als Rückgabewert einen boolean bei fail.
In Zeile 11 wird aber auf String geprüft. Die Zeile müsste geändert werden auf data === false oder kurz !data.
 
Zuletzt bearbeitet:
Danke dir, geht nun :)

Die returns sind etwas komisch, aber sind strings.
Habe das Script noch nicht umgeschrieben, bzw. nicht komplett^

Edit: Geht doch nicht, bekomme immer zurück, dass der Username ist frei.

Edit2: Fehler war in meiner SQL Query.

Probleme alle gelöst.
 
Zuletzt bearbeitet:
edit. in Ordnung
 
Zurück
Oben