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

Validar Username??

Estas en el tema de Validar Username?? en el foro de Frameworks JS en Foros del Web. Bueno una vez más pido de su ayuda para realizar algo que lo mas segura es sencillo la vdd soy nuevo con esto de ajax ...
  #1 (permalink)  
Antiguo 27/08/2010, 08:53
 
Fecha de Ingreso: junio-2009
Mensajes: 45
Antigüedad: 15 años, 4 meses
Puntos: 1
Pregunta Validar Username??

Bueno una vez más pido de su ayuda para realizar algo que lo mas segura es sencillo la vdd soy nuevo con esto de ajax y no se muy bien como este la onda aun pero el chiste es hacer prueba y error para que todo quede bien .

El asunto que me trae al foro es el siguiente tengo un registro de usuarios en donde valido con un botón el nombre de usuario que ingresen antes de registrarse para ver si no esta en uso si es así muestra un mensaje de error informándole al usuario que ya existe dicho nombre. Ahora bien lo que quiero lograr es que esto lo valide automáticamente cuando ingresen su nombre de usuario sin necesidad de tener que pulsar dicho botón.

Aquí les pongo el código con el cual hago dicho proceso haber si me pueden echar una mano con esto:

Archivo de conexión comprobarUser.php:

Código PHP:
<?php
$hostname_conn 
"localhost";
$database_conn "servidor";
$username_conn "user";
$password_conn "pass";
$conn mysql_pconnect($hostname_conn$username_conn$password_conn) or trigger_error(mysql_error(),E_USER_ERROR); 

$colname_rs_user "-1";
if (isset(
$_POST['username'])) {
  
$colname_rs_user $_POST['username'];
}
mysql_select_db($database_conn$conn);
$query_rs_user sprintf("SELECT * FROM usuarios WHERE username = '%s'",$colname_rs_user);
$rs_user mysql_query($query_rs_user$conn) or die(mysql_error());
$row_rs_user mysql_fetch_assoc($rs_user);
$totalRows_rs_user mysql_num_rows($rs_user);
if(
$totalRows_rs_user == 0)
{
    echo 
'<div align="center" class="ok">Nombre de usuario Disponible';
}
else{
    echo 
'<div align="center" class="error">Nombre de usuario Ocupado';
}
?>
<?php 
mysql_free_result
($rs_user);
?>
Formulario new_user.php:
Código HTML:
<script type="text/javascript" language="javascript" src="ajax.js">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>

<div align="center">REGISTRO DE USUARIO</div>
        <form action="<?php echo $editFormAction; ?>" method="post" name="formUsuario" id="formUsuario">
          <table align="center">
        <tr valign="baseline">
          <td nowrap="nowrap" align="right">&nbsp;</td>
          <td><div id="estadoUser"></div></td>
          <td>&nbsp;</td>
          </tr>
            <tr valign="baseline">
              <td nowrap="nowrap" align="right">Nombre de usuario:</td>
              <td><input name="username" type="text" id="username" value="" size="32" /></td>
              <td><input name="button" type="button" class="style4" id="button" value="Comprobar" onclick="javascript:ComprobarUsuario('./comprobarUser.php','estadoUser')" /></td>
            </tr>
            <tr valign="baseline">
              <td nowrap="nowrap" align="right">Contraseña:</td>
              <td><input name="password" type="password" id="password" value="" size="32" /></td>
              <td>&nbsp;</td>
            </tr>
<tr valign="baseline">
              <td nowrap="nowrap" align="right">&nbsp;</td>
              <td><input type="submit" class="style4" onclick="MM_validateForm('username','','R','password');return document.MM_returnValue" value="REGISTRAR" /></td>
              <td>&nbsp;</td>
            </tr>
          </table>
<input type="hidden" name="MM_insert" value="formUsuario" />
      </form> 

Archivo AJAX
ajax.js:
Código Javascript:
Ver original
  1. function getXMLHttpRequest(){
  2.     var xmlhttp=false;
  3.     try {
  4.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.     } catch (e) {
  6.         try {
  7.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.         } catch (E) {
  9.             xmlhttp = false;
  10.         }
  11.     }
  12.  
  13.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.         xmlhttp = new XMLHttpRequest();
  15.     }
  16.     return xmlhttp;
  17. }
  18.  
  19. function TraerPagina(datos,contenedor){
  20.     divResultado = document.getElementById(contenedor);
  21.     ajax=getXMLHttpRequest();
  22.     ajax.open("GET", datos);
  23.     ajax.onreadystatechange=function(){
  24.     if(ajax.readyState==1)
  25.         {divLoader.innerHTML='<center><img widht="50" height="50" src="./images/loading.gif"/><br/>Cargando...</center>'}
  26.         else{
  27.             if(ajax.readyState==4){divResultado.innerHTML=ajax.responseText;divLoader.innerHTML=''}
  28.             }
  29.         }
  30.     ajax.send(null)
  31. }
  32.  
  33. function ComprobarUsuario(datos,contenedor){
  34.     divResultado = document.getElementById(contenedor);
  35.     username_=document.formUsuario.username.value;
  36.     if (username_ != ""){
  37.     ajax=getXMLHttpRequest();
  38.     ajax.open("POST", datos);
  39.     ajax.onreadystatechange=function(){
  40.     if(ajax.readyState==1)
  41.         {divResultado.innerHTML='<center><img widht="50" height="50" src="./images/loading.gif"/><br/>Cargando...</center>'}
  42.         else{
  43.             if(ajax.readyState==4)
  44.             {divResultado.innerHTML=ajax.responseText;}
  45.             }
  46.         }
  47.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  48.     //enviando los valores
  49.     ajax.send("username="+username_);
  50.     }else{
  51.         divResultado.innerHTML='<div style="background-color:#FFAAAA"><span style="color:#999999", style="font-family:Calibri", style="font-weight:bold", style="font-size:12px">Desbes ingresar un Nombre de usuario.</b></span></div>'
  52.     }
  53. }
Bueno el asunto es que con estos tres archivos hago el proceso que les menciono espero que alguien me pueda ayudar con esto.
  #2 (permalink)  
Antiguo 27/08/2010, 10:30
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Validar Username??

Código HTML:
Ver original
  1. <input type="text" name="username" onblur="ComprobarUsuario('./comprobarUser.php','estadoUser');">

onBlur es el evento de cuando se pierde el foco. onFocus cuando se hace foco. onKeypress para cuando se pulsa una tecla, etc etc etc.

Puedes modificar el evento que quieras.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 27/08/2010, 11:23
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 10 meses
Puntos: 9
Respuesta: Validar Username??

creo que el evento que debes usar:

onKeyUp="ComprobarUsuario(this.value)"
__________________
Quitenme la vida pero no la bebida.
  #4 (permalink)  
Antiguo 27/08/2010, 12:46
 
Fecha de Ingreso: junio-2009
Mensajes: 45
Antigüedad: 15 años, 4 meses
Puntos: 1
De acuerdo Respuesta: Validar Username??

ok pues déjenme probarlo y les comento que tal me fue gracias por la ayuda
  #5 (permalink)  
Antiguo 28/08/2010, 13:09
 
Fecha de Ingreso: junio-2009
Mensajes: 45
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Validar Username??

bueno pues nada mas me paso por aquí para informarles que realmente solo necesitaba cambiar el evento a la caja de texto y eso fue todo muchas gracias por su ayuda

Etiquetas: ajax, username
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




La zona horaria es GMT -6. Ahora son las 17:41.