Foros del Web » Programando para Internet » Javascript » Frameworks JS »

validar existencia de nombre antes de enviar

Estas en el tema de validar existencia de nombre antes de enviar en el foro de Frameworks JS en Foros del Web. Tengo un form de registro que es un poco largo, el tema es que no se pueden repetir los nombres de usuarios en la base ...
  #1 (permalink)  
Antiguo 15/10/2010, 08:53
 
Fecha de Ingreso: abril-2001
Ubicación: Puerto Montt
Mensajes: 89
Antigüedad: 20 años, 1 mes
Puntos: 1
validar existencia de nombre antes de enviar

Tengo un form de registro que es un poco largo, el tema es que no se pueden repetir los nombres de usuarios en la base de datos habia hecho una validacion con un onBlur, con Ajax que verificaba y cambiaba el contenido de un div avisando que el nick ya estaba ocupado y ademas agregaba en el div un campo oculto que me indicaba en la vlidacion antes de enviar si estaba correcto o no, pero me paso que dos usuarios se registraron con el mismo nombre y las horas de registro son muy similares, por lo tanto veo que ambos estaban llenando el form al mismo tiempo, por tanto cuando se hizo la validacion al llenar el campo nick aun no estaba usandose en la base de datos, pero al enviar el primero, el segundo aun estaba llenando el form y al enviar el segundo se registro con el mismo nick, por lo tanto, quisiera hacer la validacion en ajax tambien al enviar el form, asi una vez que el usuario envia el form vuelva a chequear, pero no se como hacerlo:
estoy usando este codigo adaptado:
http://lineadecodigo.com/wp-content/...e-usuario.html

pero no se como modificar que la validacion se haga al enviar el form y que el form se envie solo si el nick no existe... si alguien sabe como hacerlo o tiene un ejemplo, lo agradeceria...
  #2 (permalink)  
Antiguo 15/10/2010, 09:12
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 13 años, 4 meses
Puntos: 9
Respuesta: validar existencia de nombre antes de enviar

Pero cuando envias los datos al formulario, eso ya es trabajo del lenguaje de servidor por ejemplo si trabajas con .net o php tendrías que consultar en la BD si el registro exite y en ese caso devolver un mensaje de "ya exite el registro" mediante el responseText del ajax. Tambien para asegurarte puedes usar un campo UNIQUE en tu tabla del registro para evitar duplicidad.
__________________
Quitenme la vida pero no la bebida.
  #3 (permalink)  
Antiguo 15/10/2010, 09:47
 
Fecha de Ingreso: abril-2001
Ubicación: Puerto Montt
Mensajes: 89
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: validar existencia de nombre antes de enviar

precisamente por eso estoy preguntando el foro de AJAX, porque cuando envio tengo que ir al servidor, ver si esta nick en la base de datos, en caso que no este, se envia el form normalmnete, en caso de que este ya el nick se envia algun mensaje al usuario... igual que los ejemplo varios que hay en el form que se hacen con el evento onBlur que se va al server y se verifica si el usuario existe se muestra un mensaje que ya esta, pero yo necesito comprobar eso al enviar el form, y si no existe dejar enviar, y si existe, mostrar el error..
  #4 (permalink)  
Antiguo 15/10/2010, 09:50
 
Fecha de Ingreso: abril-2001
Ubicación: Puerto Montt
Mensajes: 89
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: validar existencia de nombre antes de enviar

Consegui este codigo, pero no se como agregarle la parte de ir al server y verificar el dato, a ver si alguien me puede ayudar:

Código HTML:
<html>
<head>
<script type="text/javascript">
function envio_form(val){
var bol = function() {return compruebo_existencia_registro()}();
if (bol === true) {
alert("enviar")
} else {
alert("no enviar")
return false;
}
}
 
 
function compruebo_existencia_registro(){
    
    //el blabla correspondiente
    if(document.getElementById('Usuario').value=='Adler'){
        return false;
    }else{
        return true;
    }
}
</script>
</head>
<body>
<form action="" method="get" onsubmit="return envio_form(this);">
<input type="text" name="Usuario" id="Usuario" value="Adler" />
<input type="submit" value="Validar" />
</form>
</body>
</html> 
  #5 (permalink)  
Antiguo 15/10/2010, 13:08
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 13 años, 4 meses
Puntos: 9
Respuesta: validar existencia de nombre antes de enviar

Por eso te digo que eso lo puedes dejar al servidor, ya que sólo ajax serviria para crear una función que pase los datos y gestione el responseText.

Por ejemplo en php haces una consulta para saber si el usuario a consultar te devuelve más de 0 resultados.

Código PHP:

if($usuario_existe == 0) {

$sql "INSERT INTO...";
echo 
"guardado correctamente";

}

else {

echo 
"ya existe el usuario";



al mostrar el alert(ajax.responseText); muestras la frase "ya existe el usuario" o "guardado correctamente" sea el caso... sin necesidad de crear otras funciones...
__________________
Quitenme la vida pero no la bebida.
  #6 (permalink)  
Antiguo 18/10/2010, 10:49
Avatar de tavomestra22  
Fecha de Ingreso: octubre-2010
Ubicación: Colombia
Mensajes: 21
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: validar existencia de nombre antes de enviar

como usaria esto alert(ajax.responseText);

tengo el mismo problema.... tengo que valida la indentificacion antes de enviar el form....

pa eso tengo q verificar en la bd y si existe que me muestre el alert
  #7 (permalink)  
Antiguo 18/10/2010, 14:40
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 13 años, 4 meses
Puntos: 9
Respuesta: validar existencia de nombre antes de enviar

ajax es el objeto y lo usas así:

Código:
if (ajax.readyState == 4) {
		if(ajax.status == 200) {
			alert(ajax.responseText);

		}
	}else{
		document.getElementById(mydiv).innerHTML = 'cargando...';
	}
__________________
Quitenme la vida pero no la bebida.
  #8 (permalink)  
Antiguo 18/10/2010, 17:26
Avatar de tavomestra22  
Fecha de Ingreso: octubre-2010
Ubicación: Colombia
Mensajes: 21
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: validar existencia de nombre antes de enviar

mmmm me podriar explicar como funciona eso..... yo tengo algo parecido.... debo validar q al momento de digitar el DNI me muestre un alert q diga q ya existe....

lo hago el evento onblur.....

para eso necesito un archivo .js uno .php y desde el html debo hacer eso....

yo encontre uno en foro q usan un archivo q se llama isajax.js

pero si me pueden explicar si todas las lineas de ese archivo son necesarias.....

este es el foro...

http://www.forosdelweb.com/f18/activar-alert-hacer-onblur-con-dato-database-411063/

y aqui esta el .js

prdownloads.sourceforge.net/isiajax/PHP_isiAJAX.zip?use_mirror=kent

es un codigo como q muy complejo.... soy novato en esto....

pero lo q vi en el codigo solo usan la funcion "this.run" pero no se si las demas son necesarias...
lo q quiero es no hacer tan complejo el .js

PD: el codigo funciona bn.....

Etiquetas: ajax, enviar, nombre
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:01.