Dreamweaver - no aplica la validacion &???

 
Vista:

no aplica la validacion &???

Publicado por LINA (23 intervenciones) el 19/06/2007 11:10:32
hola amigos

aqui avanzando en la creacion de la web, gracias a la orientacion de ustedes he avanzado, estoy en un punto donde tengo un html al cual le incluyo una forma que contiene 4 campos los cuales deben ser diligenciados y click en el submit para el enviio de la forma y poder generar un correo y a la vez guardar en una bd access los datos.

una vez pintada la forma tengo una funcion que debe validar que los campos fueron dilegenciados o devolver un alert.. pero esto no lo hace y no veo donde tengo el error. cuando hago click en el boton submin me limpia todo los campos y nada mas lo cual esta incorrecto.

este es el codigo: (todas las paginas usan un template generado en dreamwaver, por lo que la funcion esta antes de crear la tabla que contiene la forma en el html ya que no puedo modificar el head ) donde esta mi error? por favor

<script language="javascript">
var flat = 0;

function validar() {

fn=document.vip.FirstName.value;
ln=document.vip.LastName.value;
em=document.vip.email.value;

function ValidarEmail(em);

function ValidarEmail(em) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(em)) {
flat = 0 ;
} else {
flat = 1 ;
}
}

if (fn=="" || fn==null || ln=="" || ln==null || flat==1)
alert("fill all fields and it need a valid email account, Thanks");
else
document.vip.action="gdform.asp"
document.vip.submit();
}
</script>


<td>
<form name="vip" method="post" onsubmit="validar(this)">
<input type="hidden" name="subject" value="Form Submission" />
<input type="hidden" name="redirect" value="thanks.html" />
Full-Name:
<input type="text" name="FirstName" />
<p>Telephone:
<input type="text" name="LastName" /></p>
<p>E-Mail:<input type="text" name="email" /></p>
<p> City:
<label>
<input type="radio" name="rcity" value="w" />
Whistler</label>
<label>
<input type="radio" name="rcity" value="s" />
Squamish</label>
</p>
<p>
All fields are required, once submitted
we will call you to get the rest of the info </p>
<input type="submit" name="submit" value="submit"/> <input type= "reset" name="reset" value="reset"/>
</form></td>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:no aplica la validacion &???

Publicado por basnek (47 intervenciones) el 19/06/2007 21:17:14
A simple vista en tu codigo veo mal esto

function ValidarEmail(em);

function ValidarEmail(em) {

dos veces la declaracion

Te recomiendo te instales para Mozilla dos extensiones muy utiles
FireBug y la Web Developer.
Igualmente el Mismo Mozilla tiene una consola JS que te dira los errores como en este caso.

No probe mucho solo copie tu codigo y al ejecutar veo que salta el error en esa línea y al borrarla todo ok. sale la leyenda pero el tema esta que igual envia el form por lo cual te hice una pequeña modificación y aqui te la dejo

<!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=iso-8859-1" />
<title>Documento sin título</title>
<script language="javascript">
var flat = false;
function validar() {
fn=document.vip.FirstName.value;
ln=document.vip.LastName.value;
em=document.vip.email.value;
errores="";
if (fn=="" || fn==null || ln=="" || ln==null || flat==1) {
errores="fill all fields and it need a valid email account, Thanks \r\n";
}
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(em)) {
} else {
errores+="Email must contain a valid address \r\n";
}
if (errores) {
alert(errores);
}
flat=(errores=="");
}

</script>
</head>

<body>
<form name="vip" method="post" action="gdform.asp" onsubmit="validar(this);return flat;">
<input type="hidden" name="subject" value="Form Submission" />
<input type="hidden" name="redirect" value="thanks.html" />
Full-Name:
<input type="text" name="FirstName" />
<p>Telephone:
<input type="text" name="LastName" /></p>
<p>E-Mail:<input type="text" name="email" /></p>
<p> City:
<label>
<input type="radio" name="rcity" value="w" />
Whistler</label>
<label>
<input type="radio" name="rcity" value="s" />
Squamish</label>
</p>
<p>
All fields are required, once submitted
we will call you to get the rest of the info </p>
<input type="submit" name="submit" value="submit"/> <input type= "reset" name="reset" value="reset"/>
</form>
</body>
</html>

Salu2 y Éxito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no aplica la validacion &???

Publicado por lina (23 intervenciones) el 19/06/2007 23:16:36
nuevamente gracias.. estare aplicando esto y le contare como me va .. thx bro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no aplica la validacion &???

Publicado por LINA (23 intervenciones) el 20/06/2007 00:21:57
funciono, lo unico que debi cambiar por lo del tema del template es la ubicacion de la funcion validar dentro del htm, quedo dentro del body en la zona editable que permite el template.. lo importante es que funciono.

Ahora empiezo la parte del lado del servidor donde estoy indecisa por donde irme, si por VBScript, VB.NET or c.net etc, empezare con vb.net esperando que sea una buena eleccion, el proveedor de hosting confirma que no hay problema en cual de este seleccione ya que ellos lo soportan.

ya con esto me surgio un detallito.. generare nueva pregunta en el foro..
thx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no aplica la validacion &???

Publicado por basnek (47 intervenciones) el 20/06/2007 20:55:11
Me alegro hayas podido avanzar.
Si no es un sitio muy grande con VBSCript puede alganzarte y sobrarte hasta si es grande . Lamento no poder ayudarte con vb.net pero no lo domino. Empece con ASP hace años y al salir .net justo me pase a PHP y CFML por motivos laborales.
Bueno Éxitos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar