/ / jquery ajax .done if msg else - jquery, ajax

jquery ajax .done if msg else - jquery, ajax

<script>
$(document).ready(function(e) {
$(".username").change(function(e) {
var usr = $(".username").val()
if(usr.length >= 4) {
$("#status").html("<font><image src="images/loader.gif" />Checking username...</font>");

var request = $.ajax({
url:"check.php",
type:"POST",
data:"username="+usr
});
request.done(function(msg) {
if(msg == "OK") {
$("#status").html("<font color="green"><img src="/images/images/accepted.png /> Available</font>");
}
else {
$("#status").html(msg);
}

});
request.fail(function(jqXHR, textStatus) {
$("#status").html(textStatus)
});
};
});
});

</script>

el guión funciona, request.done

devuelve el mensaje correcto

msg = OK // si el nombre de usuario está disponible

msg = El nombre de usuario ". $ nombre de usuario". Esta en uso. // si el nombre de usuario existe

pero no puedo obtener if msg == OK para modificar #status ..... # el estado se deja vacío si msg = OK

Respuestas

2 para la respuesta № 1

Tienes un error tipográfico - falta la cita final en la imagen src.

$("#status").html("<font color="green"><img src="/images/images/accepted.png /> Available</font>");

^ missing " here

Tenga en cuenta que hay una sintaxis de creación de elementos en JQuery que puede ayudar a evitar (o al menos detectar) este tipo de errores tipográficos:

var el = $("<font>", { color: "green" }).append(
$("<img>", { src: "images/accepted.png" })
).append("Available");
$("#status").html(el);