01/06/2010, 14:07
|
| | Fecha de Ingreso: septiembre-2003 Ubicación: Barcelona
Mensajes: 41
Antigüedad: 21 años, 4 meses Puntos: 0 | |
Respuesta: Validar formulario Lo he pulido como me habéis indicado, pero no funciona, es decir, con los 4 campos iniciales funciona ok, pero algo me dejo, ya que cuando compruebo todo el formulario con if anidados, se me queda colgado,
Por cierto por que he de poner function valida_envia(frm), en lugar del nombre del formulario "formulario" ??
Bueno espero a ver si me podéis ayudar a ver donde la cago, gracias,
codigo js.
function valida_envia(frm){
nombre = frm.nombre.value.length ;
apellido1 = frm.apellido1.value.length ;
apellido2 = frm.apellido2.value.length ;
ano = frm.ano.value;
nif = frm.nif.value;
direccion = frm.direccion.value.length;
numero = frm.numero.value.length;
cpostal = frm.cpostal.value.length;
poblacion = frm.poblacion.value.length;
email = frm.email.value;
telefono = frm.telefono.value.length;
password = frm.password.value;
rpassword = frm.rpassword.value;
//valido el nombre
if ((nombre == 0 ) || (apellido1 == 0 ) || (apellido2 == 0 ) ) {
alert("Tiene que escribir su nombre y dos apellidos");
nombre.focus()
return 0;
}
else {
if (ano <= 1910 && ano >= 1992 ) {
alert("Eres muy mayor o muy joven para esto");
ano.focus()
return 0;
}
else {
number = nif.substr(0,nif.length-1);
let = nif.substr(nif.length-1,1);
number = number % 23;
letra='TRWAGMYFPDXBNJZSQVHLCKET';
letra=letra.substring(numero,numero+1);
if (letra!=let) {
alert('Dni erroneo');
nif.focus()
return 0;
}
else {
if ((direccion == 0 ) || (numero == 0 ) ) {
alert("Por favor rellene dirección y numero");
direccion.focus()
return 0;
}
else{
if (cpostal < 5 ) {
alert("El c.Postal debe de ser de 5 dígitos");
cpostal.focus()
return 0;
}
else{
if (poblacion == 0 ) {
alert("Debes de rellenar el campo población");
poblacion.focus()
return 0;
}
else{
if (/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/.test(email)) {
alert("Debes de rellenar bien el campo Email");
email.focus()
return 0;
}
else{
if (telefono < 9 ) {
alert("Introduce un teléfono correcto(9 dígitos)");
telefono.focus()
return 0;
}
else{
if (password.length < 4 ) {
alert("la contraseña debe de ser entre 4 y 8 caracteres");
password.focus()
return 0;
}
else {
if (rpassword != password) {
alert("Las contraseñas no coinciden, revíselo");
rpassword.focus()
return 0;
}
else{
alert("Muchas gracias por enviar el formulario");
}
}
codigo html:
<form>
<table>
<tr>
<td>Nombre(*):</td>
<td><input type="text" name="nombre" size="30" maxlength="30"></td>
</tr>
<tr>
<td>1 Apellido (*):</td>
<td><input type="text" name="apellido1" size="30" maxlength="30"></td>
</tr>
<tr>
<td>2º Apellido (*):</td>
<td><input type="text" name="apellido2" size="30" maxlength="30"></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="4"></td>
</tr>
<tr>
<td>N.I.F.(*):</td>
<td> <input type="text" name="nif" size="9" maxlength="9"></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="50" maxlength="50"></td>
</tr>
<tr>
<td>Numero (*):</td>
<td><input type="text" name="numero" size="4" maxlength="4"></td>
</tr>
<tr>
<td>Portal:
<td><input type="text" name="portal" size="3" maxlength="3"></td>
<td>Escalera:
<td><input type="text" name="escalera" size="1" maxlength="1"></td>
</tr>
<tr>
<td>Piso:
<td><input type="text" name="piso" size="2" maxlength="2"></td>
<td>Puerta:
<td><input type="text" name="puerta" size="2" maxlength="2"></td>
</tr>
<tr>
<td>Código Postal (*):
<td><input type="text" name="cpostal" size="5" maxlength="5"></td>
</tr>
<tr>
<td>Población (*):
<td><input type="text" name="poblacion" size="25" maxlength="25"></td>
</tr>
<tr>
<td>Email@ (*):
<td><input type="text" name="email" size="25" maxlength="25" ></td>
</tr>
<tr>
<td>Telefono (*):
<td><input type="num" name="telefono" size="9" maxlength="9"></td>
</tr>
<td>Telefono Móbil :
<td><input type="num" name="mobil" size="9" maxlength="9"></td>
<tr>
<td>Contraseña (*):
<td><input type="password" name="password"size="8" maxlength="8"></td>
</tr>
<tr>
<td>Repetir Contraseña (*):
<td><input type="password" name="rpassword"size="8" maxlength="8"></td>
</tr>
<tr>
<td><input type="submit" value="Enviar" name="envio"></td>
<td><input name="Restablecer" type="reset" /></td>
</tr>
</table>
</form> |