Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2010, 06:34
javier55
 
Fecha de Ingreso: septiembre-2003
Ubicación: Barcelona
Mensajes: 41
Antigüedad: 21 años, 4 meses
Puntos: 0
Validar formulario

Hola,

Practicando, poco a poco, voy haciendo cositas, pero siempre me engancho en lo mismo, estoy comenzando a validar un formulario y lo primero en la frente, parece que no me comunica con el fichero js.

El fichero js, es el siguiente:

nombre = document.formulario.nombre.value.length;
apellido1 = document.formulario.apellido1.value.length;
apellido2 = document.formulario.apellido2.value.length;
sexo = document.formulario.sexo.value;
dia = document.formulario.dia.value;
mes = document.formulario.mes.value;
ano = document.formulario.ano.value;
nif = document.formulario.nif.value;
tipocalle = document.formulario.tipocalle.value;
direccion = document.formulario.direccion.value;
numero = document.formulario.numero.value;
portal = document.formulario.portal.value;
escalera = document.formulario.escalera.value;
piso = document.formulario.piso.value;
puerta = document.formulario.puerta.value;
cpostal = document.formulario.cpostal.value;
poblacion = document.formulario.poblacion.value;
email = document.formulario.email.value;
telefono = document.formulario.telefono.value;
mobil = document.formulario.mobil.value;
password = document.formulario.password.value;
rpassword = document.formulario.rpassword.value;
function valida_envia(){
//valido el nombre
if ((nombre == 0 ) || (apellido1 == 0 ) || (apellido2 == 0 ) ) {
alert("Tiene que escribir su nombre");
nombre.focus()
return 0;
}
else{
alert("Muchas gracias por enviar el formulario");
document.formulario.submit();
}
}

Recojo todas las variables del formulario en variables globales i luego con if anidados, quiero validar todo el formulario, pero de momento estoy intentando validar los campor nombres, apellido1, apellido2 ,es decir si uno de los tres está vacio, venta emergente de error y parece que no enlaza con el formulario.

Este es el documento html

<!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>
<script src="fvalidacion.js"text/javascript"></script>
</head>
<body>
<form name="formulario">
<h1>DATOS PERSONALES</h1>
<P>Rellenar las casillas siguientes con sus datos personales</P>
<form>
<table>
<tr>
<td>Nombre(*):</td>
<td><input type="text" name="nombre" size="30" maxlength="100"></td>
</tr>
<tr>
<td>1 Apellido (*):</td>
<td><input type="text" name="apellido1" size="30" maxlength="100"></td>
</tr>
<tr>
<td>2º Apellido (*):</td>
<td><input type="text" name="apellido2" size="30" maxlength="100"></td>
</tr>
<tr>
<td>Sexo(*):</td>
<td><input type="radio" name="sexo" value="Varon" checked> Hombre</td>
<td><input type="radio" name="sexo" value="Hembra"> Mujer</td>
</tr>
<tr>
<td>Fecha de nacimiento(*):</td>
<td>día:</td>
<td> <select name="dia">
<option value="1">1 </option>
<option value="2">2 </option>
<option value="3">3 </option>
<option value="4">4 </option>
<option value="5">5 </option>
<option value="6">6 </option>
<option value="7">7 </option>
<option value="8">8 </option>
<option value="9">9 </option>
<option value="10">10 </option>
<option value="11">11 </option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14 </option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18 </option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</td>
<td>mes:</td>
<td>
<select name="mes">
<option value="1">1 </option>
<option value="2">2 </option>
<option value="3">3 </option>
<option value="4">4 </option>
<option value="5">5 </option>
<option value="6">6 </option>
<option value="7">7 </option>
<option value="8">8 </option>
<option value="9">9 </option>
<option value="10">10 </option>
<option value="11">11 </option>
<option value="12">12</option>
</select>
</td>
<td>Año(*):</td>
<td> <input type="num" name="ano" size="4" maxlength="100"></td>
</tr>
<tr>
<td>N.I.F.(*):</td>
<td> <input type="text" name="nif" size="15" maxlength="100"></td>
</tr>
<tr>
<td>Tipo de via:</td>
<td> <select name="tipocalle">
<option value="1">Calle </option>
<option value="2">Avenida </option>
<option value="3">Travesera </option>
<option value="4">Paseo </option>
<option value="5">Rambla </option>
<option value="6">Plaza </option>
</select>
</td>
</tr>
<tr>
<td>Dirección (*):</td>
<td><input type="text" name="dirección" size="30" maxlength="100"></td>
</tr>
<tr>
<td>Numero (*):</td>
<td><input type="text" name="numero" size="30" maxlength="100"></td>
</tr>
<tr>
<td>Portal:
<td><input type="text" name="portal" size="6" maxlength="100"></td>
<td>Escalera:
<td><input type="text" name="escalera" size="6" maxlength="100"></td>
</tr>
<tr>
<td>Piso:
<td><input type="text" name="piso" size="6" maxlength="100"></td>
<td>Puerta:
<td><input type="text" name="puerta" size="6" maxlength="100"></td>
</tr>
<tr>
<td>Código Postal (*):
<td><input type="text" name="cpostal" size="8" maxlength="100"></td>
</tr>
<tr>
<td>Población (*):
<td><input type="text" name="poblacion" size="30" maxlength="100"></td>
</tr>
<tr>
<td>Email@ (*):
<td><input type="text" name="email" size="25" maxlength="100" value="@"></td>
</tr>
<tr>
<td>Telefono (*):
<td><input type="text" name="telefono" size="10" maxlength="60"></td>
</tr>
<td>Telefono Móbil :
<td><input type="text" name="mobil" size="10" maxlength="60"></td>
<tr>
<td>Contraseña (*):
<td><input type="password" name="password"size="10" maxlength="60"></td>
</tr>
<tr>
<td>Repetir Contraseña (*):
<td><input type="password" name="rpassword"size="10" maxlength="60"></td>
</tr>
<tr>
<td><input type="button" value="Enviar" name="envio" onclick="valida_envia()"></td>
<td><input name="Restablecer" type="reset" /></td>
</tr>
</table>
</form>
</body>
</html>
En si que me estoy dejando?? , ya he puesto en el boton de envia onclick vaya a la funcion de js y las variables son globales tienen que funcionar ok.

Gracias anticipadas por vuestrs comentarios,

Saludos,

Javier