Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/08/2012, 13:21
Avatar de patilanz
patilanz
 
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Una comprobacion total

Cita:
Iniciado por emprear Ver Mensaje
Podés hacerlo sin recurrir a una librería, para campos de texto lo ideal es utilizar el evento onkeyup

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>validar entero</title>
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. function validar(campo){
  9. var elcampo = document.getElementById(campo);  
  10. if((!validarEntero(elcampo.value))||(elcampo.value == "")){
  11. elcampo.value = "";
  12. elcampo.focus();
  13. document.getElementById('mensaje').innerHTML = 'Debe ingresar un número entero';
  14. }else{
  15. document.getElementById('mensaje').innerHTML = '';
  16. }
  17. }
  18.  
  19. function validarEntero(input){
  20. return !isNaN(input)&&parseInt(input)==input;
  21. }
  22. //]]>
  23. </head>
  24. <form action="#">
  25. <input type="text" id="pregunta" name="pregunta" value="" onkeyup="validar(this.id);" /><br />
  26. <input type="text" id="pregunta2" name="pregunta2" value="" onkeyup="validar(this.id);" /><br /><br />
  27. <input type="submit" value="procesar" /><br /><br />
  28. </form>
  29. <div id="mensaje"></div>
  30. </body>
  31. </html>

Dependiendo de lo que deba contener el campo (numeros, letras, rangos, etc) deberás cear los condicionales necesarios

SAludos

Gracias por tu respuesta pero tengo una pregunta.

Si lo que quiero es mostrar diferentes errores a varios campos de texto al usar:

document.getElementById('mensaje').innerHTML = 'Debe ingresar un número entero';

Luego al quitar el error :
else{
document.getElementById('mensaje').innerHTML = '';
}

Si hay mas errores ellos tambien se quitaran :(

Lo podria hacer con una matriz? De modo si pongo asi :


var errores = Array;

//funciones .... con sus mensajes de error

errores[0] = 'mensaje';

//....
errores[1] = 'mensaje2';
...

Y luego para poner lo al <div> puedo usar :

$var poner = errores[0] + errores[1] + errores[2] ....;

Y luego para quitar el error simplemente ago :

errores[0] = null; O errores[0] = '';

Cual de los dos metodos seria mejor ? el null o las comillas?


Se podia crear como lo dije??

Gracias :)