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

Duda nombre usuario

Estas en el tema de Duda nombre usuario en el foro de Frameworks JS en Foros del Web. Hola, Estoy haciendo un formulario para dar de alta a un nuevo usuario. Y a la hora de escoger el nombre de usuario quiero utilizar ...
  #1 (permalink)  
Antiguo 15/10/2011, 07:34
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 17 años, 6 meses
Puntos: 0
Duda nombre usuario

Hola,

Estoy haciendo un formulario para dar de alta a un nuevo usuario. Y a la hora de escoger el nombre de usuario quiero utilizar AJAX, he creado un script que simplemente realiza una consulta sobre la base de datos para comrpobar si esta disponible o no. Si está disponible devuelve un si mediante un echo y si es no pues devuelve un no, luego es recogido y mediante un if(peticon_http.responseText== "si") realizo la comprobación. Pero cuando esta libre no me muestra que lo está, aunque el valor que devuelve es un "si"(ya que he puesto un alert para comprobar que devolvía lo que esperaba)...Y ya estoy medio loco porque no consigo saber cual es mi error.

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
     <script type="text/javascript"> /*PARA AJAX*/
var READY_STATE_COMPLETE=4;
var peticion_http = null;

window.onload = function(){

        
    document.getElementById('comprobar').onclick = valida;
}

function inicializa_xhr() {
  if(window.XMLHttpRequest) {
    return new XMLHttpRequest();
  }
  else if(window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
}

function crea_query_string() {
  var login = document.getElementById("login");
 

  return "login=" + encodeURIComponent(login.value);
}

function valida() {
  peticion_http = inicializa_xhr();
  if(peticion_http) {
    peticion_http.onreadystatechange = procesaRespuesta;
    peticion_http.open("POST", "http://localhost:8888/pruebas/comprobacion_ajax.php", true);

    peticion_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    var query_string = crea_query_string();
    peticion_http.send(query_string);
  }
}

function procesaRespuesta() {

  if(peticion_http.readyState == READY_STATE_COMPLETE) {
    if(peticion_http.status == 200) {
       var login = document.getElementById("login").value;
      //document.getElementById("disponibilidad").innerHTML = peticion_http.responseText;
       var dispo=document.getElementById("disponibilidad");
       if(peticion_http.responseText == "si"){
            dispo.innerHTML = "El nombre de usuario " +login+ "está disponible";
            dispo.style.backgroundColor = '#FFFF99';
            setTimeout(limpiaDisponibilidad, 300);
       }
       else{
           dispo.innerHTML = "El nombre de usuario " +login+ " no está disponible"
           dispo.style.backgroundColor = '#FFFF99';
           setTimeout(limpiaDisponibilidad, 300);

       }
       alert(peticion_http.responseText);

    
    }
  }
  
}

function limpiaDisponibilidad(){
    var dispo = document.getElementById('disponibilidad');
    dispo.style.backgroundColor = '#FAFAFA';
}

</script>

    <body>
        <form name="registro" action="Autenticacion_nuevoUsuario.php" enctype="multipart/form-data" method="post" onsubmit="return jcap();">
		<table>
			<tr>
				<td>
				<label for="nombre">Login:</label>
				</td>
				<td colspan="2">
				<INPUT type="text" name="login" id="login" maxlength="50">
				<!--<span class="requerido">Este valor es requerido.</span>-->
                                <a id="comprobar" href="#">Disponibilidad...</a>
                                </td>

			</tr>
                        <tr>
                            <td colspan="2">
                                <div id="disponibilidad"></div>

                            </td>
                        </tr>
                </table>
        </form>


    </body>
</html> 
comprobacion_ajax.php

Código PHP:
<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 *
 *
 */
require_once('conexion.php');//esto es para conectar a la B.D.
require_once('funciones.php');

 
$nombre $_POST['login'];
 
//$disponible;

 
$conexion conectar_db();
 
$resultado=mysql_query("select password from usuarios where nombre = '$nombre'",$conexion);

 
$numeroFilas=mysql_num_rows($resultado);

 if(
$numeroFilas){
    
//$disponible="no";
     
echo "no";
  }
  else{
           
// $disponible="si";
      
echo "si";
    }

 
//echo "$disponible";

?>

Última edición por EL_TRITU; 15/10/2011 a las 07:35 Razón: Adición de datos
  #2 (permalink)  
Antiguo 17/10/2011, 14:59
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Duda nombre usuario

A nadie se le ocurre que puede estar pasando??

Etiquetas: ajax
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 00:04.