Foros del Web » Programando para Internet » Javascript »

Validación de formulario No funciona.

Estas en el tema de Validación de formulario No funciona. en el foro de Javascript en Foros del Web. Buenos dpias, tengo el siguiente script, en el cual tengo un formulario que quiero validar, pero nadamas no me valida nada, se supone que aldejar ...
  #1 (permalink)  
Antiguo 31/05/2009, 01:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Pregunta Validación de formulario No funciona.

Buenos dpias, tengo el siguiente script, en el cual tengo un formulario que quiero validar, pero nadamas no me valida nada, se supone que aldejar el campo "nombre1" vacio me tendria que salir un alert diciendo que no se puede dejar vacio, pero no lo hace, no se que hacer ayuda por favor, aqui dejo el script.

Código PHP:

<html>
<head>
<link rel="stylesheet" type="text/css" href="styleSeveridad.css" >
<script type="text/javascript">
function valida(confdispositivo){
  if(document.confdispositivo.nombre1.value == " "){
          document.confdispositivo.nombre1.style.background = '#005F4F';
        Alert ( "Proporcione el Nombre de Usuario");        
  }
}
</script>
</head>
<body>
<div id="fondo">
<div id="contenedor"><center>

<fieldset>
       <?php 
       
require('basededatos.php');
       
$usuario $_GET['usr'];
       
$sql mysql_query("SELECT nombre,email FROM usuarios WHERE usuario='$usuario'"); 
       while(
$mensaje mysql_fetch_row($sql)) {    
         
$nombre $mensaje[0];
         
$email $mensaje[1];
        }
       if (!isset(
$_POST['envio1'])) {  
       
?>
       <form name="confdispositivo" id="confdispositivo" onSubmit="valida(this);" action="<?=$_SERVER['PHP_SELF']?>" method="post">
       <div class="form-row">
       <td class="field-label"><label>Nombre</label>:</td>
       <td class="field-widget"><input type="text"  name="nombre1" id="nombre1" <?php echo "value=$nombre"?> onclick="repinta_nom(this);"></td>
       </div>
       <div class="form-row">
       <td class="field-label"><label>Email</label>:</td>
       <td class="field-widget"><input type="text" name="email1" id="email1"<?php echo "value=$email"?>></td>
       </div>
       <div class="form-row">
       <td class="field-label"><label>Usuario</label>:</td>
       
      <td class="field-widget"><input name="usuario" disabled='disabled' <?php echo "value=$usuario";?> onclick="repinta_usr(this);"></td><td id="msg"></td>
       </div>
       <div class="form-row">
       <td class="field-label"><label>Contraseña Actual</label>:</td>
       <td class="field-widget"><input type="password" name="contrasena" id="contrasena" onclick="repinta_con(this);">
       </td>
       </div>
       <div class="form-row">
       <br>
       <td class="field-label"><label>Nueva Contraseña</label>:</td>
       <td class="field-widget"><input type="password" name="ncontrasena" id="ncontrasena">
       </td>
       </div>
       <div class="form-row">
       <td class="field-label"><label>Confirme Contraseña</label>:</td>
       <td class="field-widget"><input type="password" name="ccontrasena" id="ccontrasena">
       </td>
       </div>
       
       <?php 
        

        else {
            
        
$sql "UPDATE usuarios SET nombre='$nombre1',email='$email1',contrasena='$ncontrasena'".
        
"WHERE usuario='$usuario'";
        
mysql_query ($sql) or die ("Error En La Consulta: $sql. ");
        
        }
       
?>
       
       </fieldset>
       <input name="envio1"  type="submit" value="Actualizar">
       </form>      
 </center>
</div> 
<div id="aceptar"><input type="button" value="Aceptar" onclick="window.close()"></div>
</div>
</body>
</html>
Cabe mencionar que los campos nombre1,email1 y usuario son llenados automaticamente al cargar el formulario, de acuerdo a una consulta mysql, la validación se realizaria si el usuario borrara el campo y lo dejara vacio.
  #2 (permalink)  
Antiguo 31/05/2009, 02:14
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: Validación de formulario No funciona.

Hola:

No debes repetir los temas en más de un foro, si no es el correcto (como es el mensaje que pusiste en php, los moderadores nos encargaremos de ponerlo en el sitio adecuado.

Las validaciónes funcionan cuando al evento asociado (en este caso submit) se les entrega el valor lógico false, además debes poner antes return... en resumen:
<form onsubmit="return validar(this)"...

Y en la función validadora:
if (no_cuela) return false;

Te paso un artículo: El abc de los formularios

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 31/05/2009, 09:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Validación de formulario No funciona.

Disculpa Caricatos por lo de repetir temas. En cuanto a mi problema se me olvido ponr el return false;, aunque previamente ya lo tenia y aun así no funcionaba, probe poniendolo de nuevo y sigue sin funcionar, :S. Me quedo asi:

Código HTML:
<script type="text/javascript">
function valida(confdispositivo){
  var ermail  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!ermail.test(document.confdispositivo.email1.value)) { 
  	document.confalertas.email1.style.background = '#005F4F';
	Alert ("\n- Proporcione un e-mail Valido");
	return (false);
    } 		
  }
</script> 
  #4 (permalink)  
Antiguo 31/05/2009, 09:43
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: Validación de formulario No funciona.

Hola:

Deberías chequear los errores, porque Alert... seguro que lo provoca. Y si por una de esas casualidades también lo tienes bien escrito, te sigue faltando el return en el onsubmit... y por cierto, ¿Has leído el tuto...?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 31/05/2009, 09:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Validación de formulario No funciona.

Muchas gracias caricatos, estuve leyendo el post q me pasaste muy bueno, aunque no me di cuenta del error leyenndolo me sirvió mucho. Por cierto el error era tan simple como q tenia mal escrito el "alert" yo lo tenia así "Alert" bueno pero me di cuenta al final, muchas gracias.

Código HTML:
alert (" Proporcione un e-mail Valido");
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 18:10.