Foros del Web » Programando para Internet » Javascript »

Validación de formularios

Estas en el tema de Validación de formularios en el foro de Javascript en Foros del Web. Hola, tengo un pequeño problema con la validación javascript de un formulario php insertado en una página html. lo hice en php, el documento se ...
  #1 (permalink)  
Antiguo 14/12/2006, 14:00
 
Fecha de Ingreso: diciembre-2006
Ubicación: Argentina
Mensajes: 1
Antigüedad: 17 años, 4 meses
Puntos: 0
Validación de formularios

Hola, tengo un pequeño problema con la validación javascript de un formulario php insertado en una página html.

lo hice en php, el documento se llamaba "envia_form_php.php", y en el form action se llamaba a si mismo. Luego lo inserté SIN "include". Solo abri y cerré php en el medio. Esto nunca me dio error, el formulario andaba perfectamente, sólo que hoy decidí VALIDARLO. (que ingresen si o si los datos, el mail correcto, etc)

Agradecería eternamente una respuesta!
Estoy a disposicion de todos Uds por si yo puedo solucionarles algun problema.

Saludos!!





************El código del script que esta entre <meta> y </meta> es:


<script LANGUAGE="JavaScript">
function Validar(form)
{
if (form.nombre.value == "")
{ alert("Por favor ingrese su Nombre Completo"); form.Nombre.focus(); return; }
if (form.email.value == "")
{ alert("Por favor ingrese su Dirección de E-mail"); form.email.focus(); return; }
if (form.coment.value == "")
{ alert("Por favor ingrese su Comentario"); form.coment.focus(); return; }
if (form.email.value.indexOf('@', 0) == -1 ||
form.Email.value.indexOf('.', 0) == -1)
{ alert("Dirección de E-mail inválida"); form.Email.focus(); return; }
form.submit();
}
</script>


************El código completo del formulario es:


<tr>
<td colspan="3" align="center" valign="top" bgcolor="#FFFFFF" class="links Estilo7">
<? php
if (!$HTTP_POST_VARS){
?>
<form action="envia_form_php.php" method="post" name="myform">
<table width="500" border="0" cellspacing="1" cellpadding="1">
<tr>
<td><div align="right"><span class="Estilo12">Nombre</span><span class="Estilo3">:</span></div></td>
<td><div align="left">
<input name="nombre" type="text" class="Estilo12" size=40>
</div></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Email:</span></div></td>
<td><div align="left">
<input name="email" type="text" class="Estilo12" size=40>
</div></td>
</tr>
<tr>
<td valign="top"><div align="right"><span class="Estilo12">Comentarios:</span></div></td>
<td><div align="left">
<textarea name="coment" cols=40 rows=7 class="Estilo12"></textarea>
</div></td>
</tr>
<tr>
<td height="26"><div align="right"></div></td>
<td><div align="left">
<input type="button" value="Enviar Formulario" onClick="Validar(this.form)">
</div></td>
</tr>
</table>
</form>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\n";

//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);

//doy las gracias por el envío
echo "Gracias por comunicarse con nosotros. El Formulario se ha enviado correctamente. Nos comunicaremos a la brevedad.";
}
?>
</td>
</tr>


************El código del documento envia_form_php.php es:


<?
if (!$HTTP_POST_VARS){
?>
<style type="text/css">
<!--
.Estilo3 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; }
-->
</style>

<form action="envia_form_php.php" method="post">
<table width="500" border="0" cellspacing="1" cellpadding="1">
<tr>
<td><span class="Estilo3">Nombre:</span></td>
<td><input type="text" name="nombre" size=30></td>
</tr>
<tr>
<td><span class="Estilo3">Email:</span></td>
<td><input type="text" name="email" size=30></td>
</tr>
<tr>
<td><span class="Estilo3">Comentarios:</span></td>
<td><textarea name="coment" cols=32 rows=6></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="submit" type="submit" value="Enviar Formulario"></td>
</tr>
</table>
</form>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\n";

//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);

//doy las gracias por el envío
echo "Su Mensaje ha sido enviado con éxito. Gracias por contactarse con nosotros, en breve nos comunicaremos con Usted.";

}
?>






PARA MI ES BASTANTE COMPLICADO EL TEMA. REPITO QUE AGRADEZCO INFINITAMENTE SU AYUDA.


SALUDOS!!!!!!!!1
  #2 (permalink)  
Antiguo 14/12/2006, 17:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Validación de formularios

Hola juanuuu:

Las validaciones en el cliente se hacen correctamente en la etiqueta form desde el evento submit y recibiendo true/false según valide o no... así que si el método que valida se llama Validar()... lo más aconsejable es que se defina así:

<form onsubmit="return Validar(this)" ...

Una forma resumida para Calidar sería:

function Validar(f) {
valida = true;
valida = valida && f.nombre.value != "";
return valida;
}

Bueno, es una síntesis... en las FAQs javascript hay un buen caso de validación...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 16:36.