Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/08/2010, 14:57
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: javascript y ajax

Hola

El evento onkeypress no parece el mas conveniente en este caso, por harás 6 envios y habrá 6 respuesta que no se servirán para nada. Como solucionarlo? o usas el evento onclik o mantienes onkeyup.
En caso que quieras manter el evento tendrás que hacer una condicional en la función holaMundo() para así evitar lo que te comentaba anteriormente
Cita:
if (valor.length <= 6) {
// no hace nada
}else {
// hace la petión
}
Por otro lado, pasale a la función valor que tiene el campo. En resumen todo esto quedaría algo como esto
Código Javascript:
Ver original
  1. function holaMundo (valor) {
  2. if (valor.length <= 6) {
  3. }else {
  4. // hace la petión
  5. // Instanciamos el objecto XMLHttpRequest
  6. ajax = ajaxobj();
  7. // Abrimos la conexión al script
  8. ajax.open("GET", "holamundo.php?val"+valor, true);
  9.  
  10. ....
  11.  
  12. }
  13.  
  14. <input type="text" name="doc_id" onkeypress="holaMundo(this.value)" />

En el php recoges la variable
Código PHP:
Ver original
  1. $dni = $_GET['val'];
  2. // haces la consulta
  3. // si ha traido algún registro envias la respuesta
  4. echo 'Adler';
  5. .......

Edito: También estaría bien que validar el dni
Código Javascript:
Ver original
  1. <script language="text/javascript">
  2. function letraDNI(num) {
  3. letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
  4. if (num.length == 8 && isNaN(num) == false)
  5. document.formDNI.txtDNI.value = num + "-" + letras.charAt(parseInt(num) &#37; 23);
  6. else
  7. document.formDNI.txtDNI.value = num;
  8. }
  9. </script>
  10. </head>
  11. <body>
  12. <form name="formDNI">
  13. <input name="txtDNI" maxlength="9" onkeyup="letraDNI(formDNI.txtDNI.value)" />
  14. </form>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 10/08/2010 a las 15:04 Razón: mas info