Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/04/2018, 15:24
sentoki79
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Problema al devolver resultado de una funcion

Muchas gracias por tu tiempo :)

Estoy implementando de los consejos que me has dado este ultimo:

Cita:
function nuevoUsuario(nombre){
verificarDisponibilidad(nombre).then(function(resp uesta){
if (!respuesta){ //Cero equivale a "false"
registrarNombre(nombre);
}
else{
alert("El nombre ya se encuentra registrado");
}
});
}

function verificarDisponibilidad(nombre){
return new Promise(function(exito, error){
var xhr = new XMLHttpRequest();

xhr.open("GET", "verificar.php?nombre=" + nombre);
xhr.send();
xhr.addEventListener("load", function(){
if (this.status == 200){
exito(this.responseText); //La respuesta será el número de coincidencias del nombre en la base de datos
}
}, false);
});
}

nuevoUsuario("sentoki79");

Porque es el que mas se puede ajustar a como estoy desarrollando el codigo.
Pinta bastante bien pero aún me da errores.
La funcion nuevoUsuario(this)
la estoy poniendo en el evento onchange del input donde se escribe el nombre del usuario:
Código:
  <label>Nombre de usuario: </label> 
                                <input type="text"  id="nameUser" class="input" onchange="nuevoUsuario(this)">
Y ya en el archivo .js va el resto donde he implementado una ultima funcion dentro de la funcion nuevoUsuario()
Código:
function nuevoUsuario(nombre){
    
    verificarDisponibilidad(nom).then(function(respuesta){
        if (respuesta){ //Cero equivale a "false"
            registrarNombre();
        }
        else{
            alert("El nombre ya se encuentra registrado");
        }
    });
}

Pero la variable nombre que recoge la funcion verificarDisponibilidad() es objectInputHtmlElement, ya he deducido que es porque recoge el objeto y no el valor.
He probado con DOM en recoger el value de ese input y pasarlo a la funcion de verificarDisponibilidad() pero sigue recogiendo el objeto y no el valor del nombre del usuario.

Esta ya a puntito de caramelo como se suele decir :)


Gracias de nuevo por todo, saludos!