Foros del Web » Programando para Internet » Javascript »

Validar campos vacios con onchange

Estas en el tema de Validar campos vacios con onchange en el foro de Javascript en Foros del Web. Muy buenas, Estoy intentando validar un formulario, primeramente avisando al usuario de que un campo está vacio utilizando onchange. El caso es que no me ...
  #1 (permalink)  
Antiguo 16/08/2016, 09:02
 
Fecha de Ingreso: enero-2010
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 2
Validar campos vacios con onchange

Muy buenas,

Estoy intentando validar un formulario, primeramente avisando al usuario de que un campo está vacio utilizando onchange. El caso es que no me funciona.

HTML:

Código HTML:
 <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="POST">
       <input type="text" class="form-control" placeholder="Nombre de usuario " name="username" id="username" onchange="usernameform()">
       <i class="fa fa-user"></i>
       <p id="msusername"></p>
     </div> 
JAVASCRIPT:

Código HTML:
function usernameform() {
  var userinput = document.getElementById("username").value;
  if ( userinput === "" ){
document.getElementById("msusername").innerHTML = "Escribe tu nombre de usuario";
  }
  }
Debe ser algo que no he visto pero llevo 2 horas dándole vuelta y nada.

Gracias de antemano!

Última edición por srwik; 16/08/2016 a las 09:04 Razón: error
  #2 (permalink)  
Antiguo 16/08/2016, 09:34
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 8 meses
Puntos: 171
Respuesta: Validar campos vacios con onchange

Para mi deberias ocupar el evento onblur ya que este valida al dejar el campo, es decir valida lo que se dejo o no, al pasar a otro... pruebalo asi:

Código Javascript:
Ver original
  1. function usernameform() {
  2.   var userinput = document.getElementById('username').value;
  3.   if (userinput == "" ){
  4. document.getElementById("msusername").innerHTML = "Escribe tu nombre de usuario";
  5.   }
  6.   }
Código HTML:
Ver original
  1. <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="POST">
  2.        <input type="text" class="form-control" placeholder="Nombre de usuario" name="username" id="username" onblur="usernameform()">
  3.        <i class="fa fa-user"></i>
  4.        <p id="msusername"></p>
  5.        </form>

En tu codigo tenias varios errores como "===", checa bien...
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 16/08/2016, 10:15
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 4 meses
Puntos: 46
Respuesta: Validar campos vacios con onchange

Serviría de algo usar las validaciones de HTML ??

Osea si el campo es required y esta vacío no lo dejara pasar
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #4 (permalink)  
Antiguo 16/08/2016, 22:42
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Validar campos vacios con onchange

Cita:
Iniciado por petit89 Ver Mensaje
En tu codigo tenias varios errores como "===", checa bien...
Esa triple igualdad no es un error; es el operador de igualdad estricta.

Y, como te lo recomendó KATHYU, puedes utilizar el atributo required, introducido en el estándar HTML5, en los campos del formulario para evitar que se procese teniendo campos vacíos. Y si quieres compatibilidad con navegadores antiguos, puedes recorrer al conjunto de campos del formulario y verificar uno por uno si poseen o no contenido para así determinar si se procesará o no el formulario.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 17/08/2016, 01:15
 
Fecha de Ingreso: enero-2010
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Validar campos vacios con onchange

Muchas gracias, con onblur funciona perfecto!

Hasta ahora siempre hacía estas cosas con php, pero es mucho más rápido y visual para el visitante hacerlo así :)

Saludos!
  #6 (permalink)  
Antiguo 17/08/2016, 08:01
 
Fecha de Ingreso: enero-2010
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Validar campos vacios con onchange

Quería editar pero se me cuelga al enviar con el captcha. Lo pongo aquí:

¿Cómo sería para que una vez "corregido" desaparezca el mensaje de aviso?
Había pensado incluso en que se sustituya por un icono tipo check en verde.

En teoría a la condición solo tendría que añadirle un else con ese check, pero ¿Cómo se resetea el onblur para cada vez que lo modifico?

Muchas gracias

Etiquetas: campos, formulario, funcion, html, input, onchange, php, vacios
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 14:27.