Comunidad de diseño web y desarrollo en internet online

Recoger dato desde PHP en evento keyup de input

Citar            
MensajeEscrito el 05 Nov 2009 08:22 pm
bueno llevo un bueno rato dandole vueltas, supongo que al final la solucion sera de lo mas facil pero no consigo dar con ellos...

el caso es que estoy haciendo un formulario de comprobacion de nombre de usuario(aquello que sale en muchos registros que mientras vas ecribiendo te comprueba si el USER ya esta registrado o no...) que en principio no tiene mas complicacion que hacer una simple consulta a la base de datos...

peero mi problema llega cuando tengo que comprobar el contenido de la caja de texto cada vez que se pulsa una tecla...

tengo el formulario ...

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="inc/css/main.css" rel="stylesheet" type="text/css" />
<link href="inc/css/zurb_buttons.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.3/mootools-yui-compressed.js"></script>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
   function cambio(){
         document.signup.us.value = document.signup.user_name.value;
   }
</script>
</head>

<body>   
  <div id="container">
    <div id="content">
      <form method="post" action="" id="signup" name="signup">
          <ul class="form">
            <li>
              <label for="ujser_name">Username</label>
              <input type="text" id="us" name="us">
              <input type="text" name="user_name" id="user_name" class="text" onkeyup="javascript:cambio();" />
              <label id="response"></label>
            </li>
            <li><input type="submit" value="Sign Up Now!" id="submit_button" class="large disabled button" disabled /></li>
          </ul>
        </form>
    </div>
 <script>
   $(document).ready(function(){
      $("#user_name").keyup(function(){
         var input_value =this.value;
         if(input_value.length >3){
            
            new Request.JSON({
            url: "inc/php/json.php", 
            onSuccess: function(response){
                  
               //did it return as good, or bad?
               if(response.action != "success"){
               //username is available
                  $("#user_name").removeClass("error");
                  $("#user_name").addClass("success");
                  
                  //update the response p
                  $("#response").set('html','<em>'+response.user_name+'</em> is Available');
                  
                  //activate the button
                  $("#submit_button").disabled = false;
                  $("#submit_button").removeClass('disabled');
                  $("#submit_button").addClass('blue');
                  
               }else{
                  //username is taken
                  $('#user_name').removeClass('success');
                  $('#user_name').addClass('error');
                  
                  //update the response p
                  $('#response').set('html','<em>'+response.user_name+'</em> is not available. Please choose another!');

                  //disable the button
                  $('submit_button').disabled = true;
                  $('submit_button').removeClass('blue');
                  $('submit_button').addClass('disabled');
               }
            }
         }).get($("#signup"));

         }
         
         })
   })
</script>
<?php include("inc/php/json.php"); ?>
  </div>
 </body>
   
</html>


y la conexion al a base de datos

Código PHP :

<?php
$result = null;
$dbhost = "localhost";
   if (trim(strtoupper($_SERVER["HTTP_HOST"]))=="LOCALHOST"){
      $dbuser = "root";
      $dbpass = "";
      $dbname = "proyectologin";
   }
      
// Conexion a la base de datos
   $conexiondirecciones=mysql_connect($dbhost, $dbuser, $dbpass) or die("No se puede conectar");
   mysql_select_db($dbname, $conexiondirecciones) or die("No se puede conectar a la base de datos");
//format the variables
$user_name = mysql_real_escape_string($_GET['user_name']);

//check the database for any users named $user_name
$grab_user = mysql_query("SELECT `user_name` FROM `ajax_users` WHERE `user_name` = '$user_name'");

//check if the query returned anything
if(mysql_num_rows($grab_user) == 0){

   //no user by that name
   $result['action'] = 'success';

}else{

   //oops, already taken
   $result['action'] = 'error';

}

$result['user_name'] = $_GET['user_name'];

//send the response back
echo json_encode($result);
?>


en la pagina del formulario no consigo que me vaya cogiendo el valor $user_name cada vez que se pulsa una tecla y ya no se que hacer...alguna idea?

gracias de antemano ;)

Por kreativodesigns

15 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Nov 2009 10:46 am

Por lusifer

43 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.