AJAX - Validar registro en DB escrito en un input en evento onKeyUp

   
Vista:
Imágen de perfil de Diego

Validar registro en DB escrito en un input en evento onKeyUp

Publicado por Diego (4 intervenciones) el 25/10/2014 02:27:37
Hola amig@s que tal!
Quisiera que ayudarán porque ya me queme las pestañas y nada más no me sale

Tengo que validar un dato al realizar el evento onKeyUp para verificar que dicha información ingresada en el input no se repita en la DB, por ejemplo el mismo número de un cliente y en caso de que ya exista, muestre un texto que diga que ya se encuentra registrado el número de cliente.
Dejo mis ficheros:
<------------------ JS -------------------------->
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function objetoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
  		}
	}
 
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
 
function MostrarConsulta(cliente){
	divResultado = document.getElementById('checkSucess');
	ajax=objetoAjax();
	ajax.open("POST", cliente);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			divResultado.innerHTML = ajax.responseText
		}
	}
	ajax.send(null)
}

<---------------------------- PHP ------------------------------>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$user = $_POST['cliente'];
      if(!empty($user)) {
            echo comprobar($user);
      }
      function comprobar($cliente) {
            $con = mysql_connect('localhost','root', '');
            mysql_select_db('sopor_diary', $con);
 
            $sql = mysql_query("SELECT * FROM notes WHERE cliente = '".$cliente."'",$con);
 
            $contar = mysql_num_rows($sql);
 
            if($contar == 0){
                  echo "<span style='font-weight:bold;color:green;'>Disponible.</span>";
            }else{
                  echo "<span style='font-weight:bold;color:red;'>El número de cliente ya existe.</span>";
            }
}

<------------------- HTML -------------------->
-
1
e="text" name="cliente" id="cliente" value="" onkeyup="MostrarConsulta('../includes/checkCliente.php')">


Si alguien pudiese ayudarme, se lo agradecería infinitamente!
Saludos"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vainas

Validar registro en DB escrito en un input en evento onKeyUp

Publicado por Vainas (71 intervenciones) el 25/10/2014 11:35:23
Buenas:

Te puedo dar unas recomendaciones:

1. Para ajax no deberias usar directamente javascript, yo usaria librerias como jquery que ayuda a que en muchos navegadores funcione mas o menos igual y sobretodo que funcione.

2. No uses onkeyup ya que esto funcionara cada vez que el usuario levante el dedo de una tecla y enviaras muchas peticiones al servidor. Yo usaria en jquery onchange por ejemplo. asi cuando el usuario salga del input se hara la validacion.

Dicho lo dicho, te enseño algo de codigo que te puede ayudar:

HTML:
1
2
<input type="text" name="cliente" id="cliente" value="" >
    <div id="result"></div>

JS:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function() {
  $("#cliente").change(function(){
      var datos = $("#cliente").serialize();
      alert(datos);
      $.ajax({
          type: "POST",
          url:"archivo.php",
          data: datos,
          success:function(resultado){
          // Aqui va el codigo de lo que trae del servidor
          $("#result").append(resultado);
          }
  });
});
});

Recuerda que en la zona de head de tu html tienes que incluir la libreria jquery:
1
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Diego

Validar registro en DB escrito en un input en evento onKeyUp

Publicado por Diego (4 intervenciones) el 26/10/2014 05:27:57
Gracias!
Lo empleare y te comentare como va.
Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar