Foros del Web » Programando para Internet » Javascript »

Problema con validacion de formulario JS

Estas en el tema de Problema con validacion de formulario JS en el foro de Javascript en Foros del Web. Hola a todos; he tenido un problema, el punto es que estoy validando un formulario con JS. Pero, ¿cual es el problema?: Si no se ...
  #1 (permalink)  
Antiguo 12/09/2011, 16:30
 
Fecha de Ingreso: septiembre-2011
Mensajes: 52
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Problema con validacion de formulario JS

Hola a todos; he tenido un problema, el punto es que estoy validando un formulario con JS.
Pero, ¿cual es el problema?:
Si no se introduce al menos 3 letras en el nick, devuelve falso y no deja accionar el submit. Luego, los campos contraseña no pueden estar ni vacíos y deben coincidir.
Pero suponganse que en el primer campo introduzco mal en nick, y en los campos contraseña las dejo en blanco, solo salta el error del nick; el error de los campos contraseña solo saltan si corrijo en nick, y no debe ser así, deben saltar todos juntos.
¿Alguien me puede dar una mano?, le estaría muy agradecido.



<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<script language="javascript">
function validarCampos(frm){
//Si el campo nick tiene menos de 3 letras devuelve FALSE
if(frm.nick.value.length < 3){
document.getElementById('errorNick').style.visibil ity='visible';
document.getElementById('errorNick').style.display ='block';
return false;
}
if(frm.contraseña.value == ""){
document.getElementById('contraseñasVacias').style .visibility='visible';
document.getElementById('contraseñasVacias').style .display='block';
document.getElementById('contraseña').style.border ='1px solid red';
document.getElementById('contraseñaR').style.borde r='1px solid red';
return false;
}

//Si el campo de contraseña 1 es distinto al campo de contraseña 2 devuelve FALSE
if(frm.contraseña.value != frm.contraseñaR.value){
document.getElementById('errorContR').style.visibi lity='visible';
document.getElementById('errorContR').style.displa y='block';
return false;
}

return true;
}
</script>
<form name="frm" id="frm" onsubmit="return validarCampos(this)">
nick: <input type="text" id="nick" name="nick" /><br />
<p id="errorNick" style="display:none; visibility:hidden; color: red;">Este campo debe constar como mínimo de 3 letras</p>
contraseña: <input type="password" id="contraseña" name="contraseña"/><br />
Repita su contraseña: <input type="password" id="contraseñaR" name="contraseñaR"/><br />
<p id="errorContR" style="display:none; visibility:hidden; color: red;">Las contraseñas deben de coincidir</p><p id="contraseñasVacias" style="display:none; visibility:hidden; color:red;"> Debe de introducir su contraseña </p>
email: <input type="text" name="email"/><br />
<input type="submit" value="Ok" />
</form>
  #2 (permalink)  
Antiguo 12/09/2011, 17:41
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con validacion de formulario JS

Hola:

Te comento una forma sencilla, pero por lo que veo, tendrías que cambiar el chip...

La idea es tener un array con los errores, que evidentemente al entrar a la validación estará vacío, y por cada error meter en ese array el mensaje de error correspondiente; así la validación pasa si el array se mantiene vacio, y en otro caso basta con mostrar ese array

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/09/2011, 17:44
 
Fecha de Ingreso: septiembre-2011
Mensajes: 52
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Respuesta: Problema con validacion de formulario JS

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Te comento una forma sencilla, pero por lo que veo, tendrías que cambiar el chip...

La idea es tener un array con los errores, que evidentemente al entrar a la validación estará vacío, y por cada error meter en ese array el mensaje de error correspondiente; así la validación pasa si el array se mantiene vacio, y en otro caso basta con mostrar ese array

Saludos
Hola, Caricatos, muchas gracias por tu ayuda, pero soy algo novato en JS y eso que me dijiste que haga, no lo entendi, si no es mucha molestia, ¿lo podrías hacer?
Desde ya, muchas gracias (:

Etiquetas: problema+formulario
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 06:25.