Foros del Web » Programando para Internet » Javascript »

problemas com lavalidacion de un formaulario

Estas en el tema de problemas com lavalidacion de un formaulario en el foro de Javascript en Foros del Web. hola como estan la verdad no se que esta mal en la validacion de este formulario les pido su colaboracion saludos Código: <script> function validar() ...
  #1 (permalink)  
Antiguo 17/09/2009, 09:18
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 16 años, 5 meses
Puntos: 1
problemas com lavalidacion de un formaulario

hola como estan
la verdad no se que esta mal en la validacion de este formulario
les pido su colaboracion
saludos

Código:
<script>
function validar()
{
  var x;
  x=window.document.form1;
//-----------------------------------------------------------------
//Validacion de la Cedula
/*La funcion isNaN es la encargada de validar si una variable es de tipo numerico
Si la variable no es de tipo numerico retorna un valor true*/
  if(x.nombre.value=="")
  {
    alert("Debe digitar su Nombre");
    x.nombre.focus();
    return;
  }
 
//-------------------------------------------------------------------------------
if(x.empresa.value=="")
  {
    alert("Debe digitar el nombre de la empresa");
    x.empresa.focus();
    return;
  }

  if(x.acti.value=="")
  {
    alert("Debe digitar su Actividad");
    x.acti.focus();
    return;
  }

//---------------------------------------------------------------------------------
if(x.pais.value=="")
  {
    alert("Debe digitar el Pais");
    x.pais.focus();
    return;
  }

  if(x.ciudad.value=="")
  {
    alert("Debe digitar la Ciudad");
    x.ciudad.focus();
    return;
  }

//---------------------------------------------------------------------------------
  if(x.dir.value=="")
  {
    alert("Debe digitar la Dirección");
    x.dir.focus();
    return;
  }
  
  if(x.tele.value=="")
  {
    alert("Debe digitar Numero de telefono");
    x.dir.focus();
    return;
  }
  else
 {
   if(isNaN(x.tele.value)==true)
   {
     alert("El valor Ingresado en el Telefono no es Numerico");
     x.tele.focus();
     return;
     }
 }
//-------------------------------------------------------------------------------------
if(x.mail.value=="")
  {
    alert("Debe digitar su direccion de correo");
    x.mail.focus();
    return;
  }
 //------------------------------------------------------------------------------------
if(x.web.value=="")
  {
    alert("Debe digitar su pagina web");
    x.web.focus();
    return;
	}
	if(x.destino.value=="")
  {
    alert("Debe selecionar un destino");
    x.destino.focus();
    return;
	}
		if(x.asun.value=="")
  {
    alert("Debe digitar el asunto");
    x.asun.focus();
    return;
	}
		if(x.mensaje.value=="")
  {
    alert("Debe escribir un mensaje");
    x.mensaje.focus();
    return;
	}
		x.submit();
	}
    </script>
este es el form:
Cita:
<form name="form1" id="form1" action="envia_mail.php" method="post" >
<table width="467" border="0" align="center" cellpadding="0" cellspacing="5" class="Estilo10" >
<tr>
<td align="right" class="Estilo9" >&nbsp;</td>
<td class="style7 Estilo5 Estilo5 style8" ><div align="left">
<p>Formulario de contacto</p>
<p>&nbsp;</p>
</div></td>
</tr>
<tr>
<td width="24%" align="right" class="Estilo9" ><div align="left" class="style7">
<div align="left"> Nombre Completo</div>
</div></td>
<td width="76%" class="Estilo9" ><span class="style1 Estilo2 Estilo5 ">
<input id="Nombre" type="text" name="Nombre" size="30" value="" />
<span class="style5">* </span></span></td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" ><div align="left" class="style7">
<div align="left">Nombre Empresa</div>
</div></td>
<td class="Estilo9" ><span class="style1 Estilo2 Estilo5 ">
<input id="Empresa" type="text" name="Empresa" size="30" value="" />
</span></td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" ><div align="left" class="style7">
<div align="left">Actividad</div>
</div></td>
<td class="Estilo9" ><span class="style1 Estilo2 Estilo5 ">
<input id="Actividad" type="text" name="Acti" size="30" value="" />
</span></td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" ><div align="left" class="style7">
<div align="left">Pa&iacute;s</div>
</div></td>
<td class="Estilo9" ><span class="style1 Estilo2 Estilo5 ">
<input id="pais" type="text" name="pais" size="30" value="" />
<span class="style5">* </span></span> </td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" ><div align="left" class="style7">
<div align="left">Ciudad</div>
</div></td>
<td class="Estilo9" ><span class="style1 Estilo2 Estilo5 ">
<input id="ciudad" type="text" name="ciudad" size="30" value="" />
</span>
<label></label>
<span class="style5">*</span> </td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" ><div align="left" class="style7">
<div align="left">Direcci&oacute;n</div>
</div></td>
<td class="Estilo9" ><label>
<input name="dir" type="text" id="dir" size="30" />
</label> </td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" ><div align="left" class="style7">
<div align="left">Tel&eacute;fono N&ordm;</div>
</div></td>
<td class="Estilo9" ><span class="style1 Estilo2 Estilo5 ">
<input id="tele" type="text" name="tele" size="30" maxlength="30" value=""/>
<span class="style5">* </span><br />
</span> </td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" ><div align="left" class="style7">
<div align="left">E-mail</div>
</div></td>
<td class="Estilo9" ><span class="style1 Estilo2 Estilo5 ">
<input id="Mail" type="text" name="Mail" size="30" value=""/>
<span class="style5">* </span><br />
</span></td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" style="height: 24px" ><div align="left" class="style7">
<div align="left"> P&aacute;gina Web </div>
</div></td>
<td class="Estilo9" style="height: 24px" ><span class="style1 Estilo2 Estilo5 "><span class="Estilo9" style="height: 24px">
<input id="web" type="text" name="web" size="30" maxlength="100" value="" />
</span></span></td>
</tr>
<tr>
<td align="right" valign="top" class="Estilo9" style="height: 24px" ><div align="left" class="style7">Destino Mensaje</div></td>
<td class="Estilo9" style="height: 24px" ><span class="Estilo9" style="height: 24px">
<select name="destino" id="destino">
<option>Mantenimiento y reparación</option>
<option>Filtración</option>
<option>Dotación</option>
<option selected="selected">-Seleccione el Destino-</option>
</select>
</span></td>
</tr>
<tr>
<td align="right" valign="top" class="style7" style="height: 24px" ><div align="left">Asunto</div></td>
<td class="Estilo9" style="height: 24px" ><input type="text" name="asun" id="asun" /></td>
</tr>
<tr align="center" >
<td class="Estilo9"><div align="left"><b><span class="style6">Mensaje</span>:</b></div></td>
<td class="Estilo9"><div align="left"><span class="style1 Estilo2 Estilo5 ">
<textarea id="mensaje" name="mensaje" cols="24" rows="6"></textarea>
</span></div></td>
</tr>
<tr align="center" >
<td class="Estilo9"><p align="left" class="style1 Estilo2 Estilo5 "><b><br />
</b><br />
</p></td>
<td class="Estilo9"><div align="left">
<label>
<input type="submit" name="envia" id="envia" value="Enviar" onclick="validar()" />
</label>
<label>
<input type="reset" name="cancel" id="cancel" value="Cancelar" />
</label>

</div></td>
</tr>
</table>
</form>
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)
  #2 (permalink)  
Antiguo 17/09/2009, 09:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: problemas com lavalidacion de un formaulario

yo lo que hago es poner return false; en todos esos returns, y en vez de x.submit() un return true;
ademas lo hago un poco diferente. mira, te pongo un cacho de uno mio, si te gusta genial!


El form:
Código javascript:
Ver original
  1. <form id="Fform" method="post" action="tratar_form.asp" onSubmit="return ValidarFormulario(this);">
  2. ...
y luego arriba del todo la funcion:
Código javascript:
Ver original
  1. <script type="text/javascript">
  2. function ValidarFormulario(f){
  3.     if(f.Nombre.value==""){
  4.     alert("Por favor, introduzca el nombre de la sección");
  5.     f.eNombre.focus();
  6.     return false;
  7.   }
  8.   if (isNaN(f.eOrden.value)){
  9.     alert("El campo orden debe ser un valor numérico");
  10.     f.eOrden.focus();
  11.     return false;
  12.     }
  13.   return true;
  14. }
No hace falta declarar el formulario porque lo paso con el (this)
si devuelve false no lo envia y si es true si.

Si necesitas mas aclaracion estare pendiente

suerte!

Última edición por monxas; 17/09/2009 a las 09:45 Razón: meter highlights al codigo
  #3 (permalink)  
Antiguo 17/09/2009, 09:45
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: problemas com lavalidacion de un formaulario

hey amigo valida y todo pero igual al darle click se me va y no valida

saludos
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)
  #4 (permalink)  
Antiguo 17/09/2009, 10:13
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: problemas com lavalidacion de un formaulario

te valida hasta el final?
yo lo que hago es ir metiendo alerts y ver donde esta el codigo roto, que es por eso lo que falla.
si has cambiado el codigo JS de la validacion y lo vuelves a pegar lo reviso yo tambien
  #5 (permalink)  
Antiguo 17/09/2009, 10:16
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: problemas com lavalidacion de un formaulario

en el primero lo dejo en blanco,me aparece el mensaje pero igual al darle click se envia
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)
  #6 (permalink)  
Antiguo 17/09/2009, 10:29
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: problemas com lavalidacion de un formaulario

pon
return false;
en vez de
return;
  #7 (permalink)  
Antiguo 17/09/2009, 11:06
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: problemas com lavalidacion de un formaulario

ok gracias
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)
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 02:14.