Foros del Web » Programando para Internet » Javascript »

Validar formulario

Estas en el tema de Validar formulario en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/06/2010, 06:34
 
Fecha de Ingreso: septiembre-2003
Ubicación: Barcelona
Mensajes: 41
Antigüedad: 20 años, 7 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
  #2 (permalink)  
Antiguo 01/06/2010, 07:59
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formulario

Hola

Prueba así


Código Javascript:
Ver original
  1. function valida_envia(frm){
  2. nombre = frm.nombre.value.length;
  3. apellido1 = frm.apellido1.value.length;
  4. apellido2 = frm.apellido2.value.length;
  5.  
  6. //valido el nombre
  7. if ((nombre == 0 ) || (apellido1 == 0 ) || (apellido2 == 0 ) ) {
  8. alert("Tiene que escribir su nombre");
  9. nombre.focus()
  10. return 0;
  11. }
  12. else{
  13. alert("Muchas gracias por enviar el formulario");
  14. document.formulario.submit();
  15. }
  16. }

Código HTML:
Ver original
  1. <form name="formulario" onsubmit="return valida_envia(this)">
  2.  
  3. td><input type="submit" value="Enviar" name="envio"></td>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 01/06/2010, 08:01
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Validar formulario

Pero entonces habría que quitar la línea 14
document.formulario.submit();
¿no?
Saludos (:
__________________
'Dadme un punto de apoyo y moveré el mundo' - Arquímedes
Alianza DIOSES [-GOD-] Ikariam - Mundo Ny (s13)
  #4 (permalink)  
Antiguo 01/06/2010, 12:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formulario

Hola

Cita:
Iniciado por _cronos Ver Mensaje
Pero entonces habría que quitar la línea 14
document.formulario.submit();
¿no?
Saludos (:


Sí, se me paso
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 01/06/2010, 13:35
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Validar formulario

Ah vale xD Esque a lo mejor estaba equivocado yo y para asegurar pregunté.
Saludos (:
__________________
'Dadme un punto de apoyo y moveré el mundo' - Arquímedes
Alianza DIOSES [-GOD-] Ikariam - Mundo Ny (s13)
  #6 (permalink)  
Antiguo 01/06/2010, 14:07
 
Fecha de Ingreso: septiembre-2003
Ubicación: Barcelona
Mensajes: 41
Antigüedad: 20 años, 7 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>
  #7 (permalink)  
Antiguo 01/06/2010, 14:26
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formulario

Hola

Cita:
Iniciado por javier55 Ver Mensaje
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" ??
Primero, te falta llamar a la función al sumitar el form

Cita:
<form name="formulario" onsubmit="return valida_envia(this)">
Segundo, frm es argumento que se le pasa, puedes escribir lo que quieras (a o campos o ,,,). Si te fijas en como se llama al form, se le pasa el argumento "this" que viene a ser como "this.form", por lo tanto no es necesario pasarle el nombre ni id

Tercero, ¿qué quieres decir con que se te "queda colgado"?

Cuarto, no hace falta que use "else" con cada condicional, puedes hacer algo como

Cita:
if(campo == 0) {
//lo que sea
return false;
}

if(otrocampo == 0) {
//lo que sea
return false;
}

if(ultimocampo == 0) {
//lo que sea
}else {
return true;
}
Por último has de cuidar como recoger los valores de los campos. Esto, nombre = frm.nombre.value.length; es correcto pero es mas practico esto otro nombre = frm.nombre; ya que después vas a usar focus

Por cierto, deberías de usar expresiones regulares para hacer una validación mas completa, ya que la cadena "12345" es válida para el campo nombre, apellido, etc.

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 01/06/2010 a las 14:35 Razón: mas info
  #8 (permalink)  
Antiguo 01/06/2010, 15:44
 
Fecha de Ingreso: septiembre-2003
Ubicación: Barcelona
Mensajes: 41
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Validar formulario

Gracias, vuelvo al ataque, :P

Pensaba que debia usar el condicional anidando, para que fuera validando campo por campo, o sea traducido, si nobre y apellidos esta ok, voy al campo siguiente, en fin investigo y comento las dudas,

gracias a todos,

Javier
  #9 (permalink)  
Antiguo 01/06/2010, 15:49
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Validar formulario

Por cierto para la próxima vez usa el BBCode que colorea los códigos, porque así queda más claro.
Saludos (:
__________________
'Dadme un punto de apoyo y moveré el mundo' - Arquímedes
Alianza DIOSES [-GOD-] Ikariam - Mundo Ny (s13)
  #10 (permalink)  
Antiguo 02/06/2010, 03:13
 
Fecha de Ingreso: septiembre-2003
Ubicación: Barcelona
Mensajes: 41
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Validar formulario

No entiendo porque no funciona??
recojo todos los campos y luego los valido, en teoria no hay más ciencia no??
bueno os pongo el código, el tema está en que si solo dejo los primeros campos como en el ejemplo de adler funciona, pero si intento validar más campos pues nada, os dejo el código a ver donde meto la pata :P
js
Código Javascript:
Ver original
  1. function valida_envia(frm){
  2.      nombre = frm.nombre.value.length ;
  3.      apellido1 = frm.apellido1.value.length ;
  4.      apellido2 = frm.apellido2.value.length ;
  5.      ano = frm.ano;
  6.      nif = frm.nif;
  7.      direccion = frm.direccion.value.length;
  8.      numero = frm.numero.value.length;
  9.      cpostal = frm.cpostal.value.length;
  10.      poblacion = frm.poblacion.value.length;
  11.      email = frm.email.value;
  12.      telefono = frm.telefono.value.length;
  13.      password = frm.password.value;
  14.      rpassword = frm.rpassword.value;
  15.      number = nif.substr(0,nif.length-1);
  16.      let = nif.substr(nif.length-1,1);
  17.      number = number % 23;
  18.      letra='TRWAGMYFPDXBNJZSQVHLCKET';
  19.      letra=letra.substring(numero,numero+1);
  20.           //valido el nombre
  21.           if ((nombre == 0 ) || (apellido1 == 0 ) || (apellido2 == 0 ) ) {
  22.                  alert("Tiene que escribir su nombre y dos apellidos");
  23.                  nombre.focus()
  24.                  return 0;
  25.           }
  26.           if (ano <= 1910 && ano >= 1992 )  {
  27.                   alert("Eres muy mayor o muy joven para esto");
  28.                   ano.focus()
  29.                   return 0;
  30.          }
  31.          if (letra!=let) {
  32.                      alert('Dni erroneo');
  33.                      nif.focus()
  34.                      return 0;
  35.          }
  36.          if ((direccion == 0 ) || (numero == 0 ) ) {
  37.                       alert("Por favor rellene dirección y numero");
  38.                      direccion.focus()
  39.                      return 0;
  40.          }
  41.          if (cpostal < 5 )  {
  42.                       alert("El c.Postal debe de ser de 5 dígitos");
  43.                       cpostal.focus()
  44.                       return 0;
  45.           }
  46.           if (poblacion == 0 ) {
  47.                       alert("Debes de rellenar el campo población");
  48.                       poblacion.focus()
  49.                       return 0;
  50.           }
  51.           if (/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/.test(email)) {
  52.                      alert("Debes de rellenar bien el campo Email");
  53.                      email.focus()
  54.                      return 0;
  55.           }
  56.           if (telefono < 9 )  {
  57.                      alert("Introduce un teléfono correcto(9 dígitos)");
  58.                      telefono.focus()
  59.                      return 0;
  60.            }
  61.            if (password.length < 4 )  {
  62.                      alert("la contraseña debe de ser entre 4 y 8 caracteres");
  63.                      password.focus()
  64.                      return 0;
  65.            }
  66.            if (rpassword != password) {
  67.                     alert("Las contraseñas no coinciden, revíselo");
  68.                     rpassword.focus()
  69.                     return 0;
  70.            }
  71.            else{
  72.                    return true;
  73.                    alert("Muchas gracias por enviar el formulario");
  74.            }
  75. }
html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Documento sin título</title>
  5. <script src="fvalidacion1.js" type="text/javascript"></script>
  6. </head>
  7. <form name="formulario"  onsubmit="return valida_envia(this)" >
  8.     <h1>DATOS PERSONALES</h1>
  9.     <P>Rellenar las casillas siguientes con sus datos personales</P>
  10.     <form>
  11.     <table>
  12.         <tr>
  13.             <td>Nombre(*):</td>
  14.             <td><input type="text" name="nombre" size="30" maxlength="30"></td>
  15.         </tr>
  16.         <tr>
  17.             <td>1 Apellido (*):</td>
  18.             <td><input type="text" name="apellido1" size="30" maxlength="30"></td>
  19.         </tr>
  20.         <tr>
  21.             <td>2º Apellido (*):</td>
  22.             <td><input type="text" name="apellido2" size="30" maxlength="30"></td>
  23.         </tr>
  24.         <tr>      
  25.             <td>Sexo(*):</td>
  26.             <td><input type="radio" name="sexo" value="Varon" checked> Hombre</td>
  27.             <td><input type="radio" name="sexo" value="Hembra"> Mujer</td>
  28.         </tr>
  29.         <tr>
  30.               <td>Fecha de nacimiento(*):</td>
  31.               <td>día:</td>
  32.               <td>    <select name="dia">
  33.                             <option value="1">1 </option>
  34.                             <option value="2">2 </option>
  35.                             <option value="3">3 </option>
  36.                             <option value="4">4 </option>
  37.                             <option value="5">5 </option>
  38.                             <option value="6">6 </option>
  39.                             <option value="7">7 </option>
  40.                             <option value="8">8 </option>
  41.                             <option value="9">9 </option>
  42.                             <option value="10">10 </option>
  43.                             <option value="11">11 </option>
  44.                             <option value="12">12</option>
  45.                             <option value="13">13</option>
  46.                             <option value="14">14 </option>
  47.                             <option value="15">15</option>
  48.                             <option value="16">16</option>
  49.                             <option value="17">17</option>
  50.                             <option value="18">18 </option>
  51.                             <option value="19">19</option>
  52.                             <option value="20">20</option>
  53.                             <option value="21">21</option>
  54.                             <option value="22">22</option>
  55.                             <option value="23">23</option>
  56.                             <option value="24">24</option>
  57.                             <option value="25">25</option>
  58.                             <option value="26">26</option>
  59.                             <option value="27">27</option>
  60.                             <option value="28">28</option>
  61.                             <option value="29">29</option>
  62.                             <option value="30">30</option>
  63.                             <option value="31">31</option>
  64.                             </select>
  65.                  </td>
  66.                  <td>mes:</td>
  67.                              <td>
  68.                              <select name="mes">
  69.                             <option value="1">1 </option>
  70.                             <option value="2">2 </option>
  71.                             <option value="3">3 </option>
  72.                             <option value="4">4 </option>
  73.                             <option value="5">5 </option>
  74.                             <option value="6">6 </option>
  75.                             <option value="7">7 </option>
  76.                             <option value="8">8 </option>
  77.                             <option value="9">9 </option>
  78.                             <option value="10">10 </option>
  79.                             <option value="11">11 </option>
  80.                             <option value="12">12</option>
  81.                             </select>
  82.                             </td>
  83.                             <td>Año(*):</td>
  84.                             <td> <input type="num" name="ano" size="4" maxlength="4"></td>
  85.         </tr>
  86.         <tr>
  87.              <td>N.I.F.(*):</td>
  88.              <td> <input type="text" name="nif" size="9" maxlength="9"></td>
  89.         </tr>
  90.         <tr>
  91.               <td>Tipo de via:</td>
  92.               <td>    <select name="tipocalle">
  93.                             <option value="1">Calle </option>
  94.                             <option value="2">Avenida </option>
  95.                             <option value="3">Travesera </option>
  96.                             <option value="4">Paseo </option>
  97.                             <option value="5">Rambla </option>
  98.                             <option value="6">Plaza </option>
  99.                       </select>
  100.             </td>
  101.        </tr>
  102.        <tr>
  103.              <td>Dirección (*):</td>
  104.              <td><input type="text" name="dirección" size="50" maxlength="50"></td>
  105.        </tr>
  106.        <tr>
  107.              <td>Numero (*):</td>  
  108.              <td><input type="text" name="numero" size="4" maxlength="4"></td>    
  109.        </tr>
  110.        <tr>    
  111.              <td>Portal:  
  112.              <td><input type="text" name="portal" size="3" maxlength="3"></td>    
  113.              <td>Escalera:
  114.              <td><input type="text" name="escalera" size="1" maxlength="1"></td>
  115.        </tr>
  116.        <tr>
  117.              <td>Piso:
  118.              <td><input type="text" name="piso" size="2" maxlength="2"></td>    
  119.              <td>Puerta:
  120.              <td><input type="text" name="puerta" size="2" maxlength="2"></td>
  121.        </tr>
  122.        <tr>    
  123.              <td>Código Postal (*):  
  124.              <td><input type="text" name="cpostal" size="5" maxlength="5"></td>  
  125.        </tr>
  126.        <tr>    
  127.              <td>Población (*):
  128.              <td><input type="text" name="poblacion" size="25" maxlength="25"></td>
  129.        </tr>
  130.        <tr>
  131.              <td>Email@ (*):
  132.              <td><input type="text" name="email" size="25" maxlength="25" ></td>
  133.        </tr>
  134.        <tr>
  135.              <td>Telefono (*):
  136.              <td><input type="num" name="telefono" size="9" maxlength="9"></td>
  137.        </tr>    
  138.              <td>Telefono Móbil :
  139.              <td><input type="num" name="mobil" size="9" maxlength="9"></td>
  140.         <tr>  
  141.              <td>Contraseña (*):
  142.              <td><input type="password" name="password"size="8" maxlength="8"></td>
  143.         </tr>
  144.         <tr>    
  145.              <td>Repetir Contraseña (*):
  146.              <td><input type="password" name="rpassword"size="8" maxlength="8"></td>
  147.          </tr>
  148.          <tr>
  149.          
  150.          <td><input type="submit" value="Enviar" name="envio"></td>
  151.          <td><input name="Restablecer" type="reset" /></td>
  152.          </tr>
  153.  </table>
  154.      </form>
  155. </body>
  156. </html>
  #11 (permalink)  
Antiguo 02/06/2010, 06:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formulario

Hola

¿Pero donde deja de validar?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #12 (permalink)  
Antiguo 02/06/2010, 07:10
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Validar formulario

Bueno en el código JS tienes varios errores, voy a copiar el que tienes e ir comentándolo.
Código Javascript:
Ver original
  1. function valida_envia(frm){
  2.      nombre = frm.nombre.value.length ;//aquí en casi todos coges el campo su value y su length
  3.      apellido1 = frm.apellido1.value.length ; //pero es mejor coger sólo el campo porque sino
  4.      apellido2 = frm.apellido2.value.length ; // en el focus() tienes que poner todo el nombre o sino no funciona
  5.      ano = frm.ano;//aquí si está bien
  6.      nif = frm.nif;// además es mejor poner var delante de nif, o direccion, etc...
  7.      direccion = frm.direccion.value.length;
  8.      numero = frm.numero.value.length;
  9.      cpostal = frm.cpostal.value.length;
  10.      poblacion = frm.poblacion.value.length;
  11.      email = frm.email.value;
  12.      telefono = frm.telefono.value.length;
  13.      password = frm.password.value;
  14.      rpassword = frm.rpassword.value;
  15.      number = nif.substr(0,nif.length-1);
  16.      let = nif.substr(nif.length-1,1);
  17.      number = number &#37; 23;
  18.      letra='TRWAGMYFPDXBNJZSQVHLCKET';
  19.      letra=letra.substring(numero,numero+1);
  20.           //valido el nombre
  21.           if ((nombre == 0 ) || (apellido1 == 0 ) || (apellido2 == 0 ) ) {
  22.                  alert("Tiene que escribir su nombre y dos apellidos");
  23.                  nombre.focus() // te falta ';' y ademas no creo que haga focus porque te estás refiriendo al length del campo, no al campo en sí
  24.                  return 0;
  25.           }
  26.           if (ano <= 1910 && ano >= 1992 )  { // a mí no me gustaría que me tacharan de viejo pero supongo que serán exigencias xD
  27.                   alert("Eres muy mayor o muy joven para esto");// además tendrías que validar si es un número (isNaN() o regExp)
  28.                   ano.focus()// y no es && sino || porque el año no puede ser menor que 1910 y mayor que 1992
  29.                   return 0;
  30.          }
  31.          if (letra!=let) {
  32.                      alert('Dni erroneo');
  33.                      nif.focus()
  34.                      return 0;
  35.          }
  36.          if ((direccion == 0 ) || (numero == 0 ) ) {
  37.                       alert("Por favor rellene dirección y numero");
  38.                      direccion.focus()
  39.                      return 0;
  40.          }
  41.          if (cpostal < 5 )  {
  42.                       alert("El c.Postal debe de ser de 5 dígitos");
  43.                       cpostal.focus()
  44.                       return 0;
  45.           }
  46.           if (poblacion == 0 ) {
  47.                       alert("Debes de rellenar el campo población");
  48.                       poblacion.focus()
  49.                       return 0;
  50.           }
  51.           if (/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/.test(email)) {
  52.                      alert("Debes de rellenar bien el campo Email");
  53.                      email.focus()
  54.                      return 0;
  55.           }
  56.           if (telefono < 9 )  {
  57.                      alert("Introduce un teléfono correcto(9 dígitos)");
  58.                      telefono.focus()
  59.                      return 0;
  60.            }
  61.            if (password.length < 4 )  {
  62.                      alert("la contraseña debe de ser entre 4 y 8 caracteres");// aquí te falta poner '|| password.length>8'
  63.                      password.focus()
  64.                      return 0;
  65.            }
  66.            if (rpassword != password) {
  67.                     alert("Las contraseñas no coinciden, revíselo");
  68.                     rpassword.focus()
  69.                     return 0;
  70.            }
  71.            else{
  72.                    return true;
  73.                    alert("Muchas gracias por enviar el formulario");
  74.            }
  75. }

Además no sé si poniendo return 0 es lo mismo que return false.
Saludos (:
__________________
'Dadme un punto de apoyo y moveré el mundo' - Arquímedes
Alianza DIOSES [-GOD-] Ikariam - Mundo Ny (s13)
  #13 (permalink)  
Antiguo 02/06/2010, 07:43
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formulario

Hola @_conos

Cita:
Iniciado por _cronos Ver Mensaje
Además no sé si poniendo return 0 es lo mismo que return false.
Saludos (:
Es lo mismo por que es un boleano, es decir (true/false o 1/0)
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #14 (permalink)  
Antiguo 02/06/2010, 08:15
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Validar formulario

A vale muchas gracias, entonces lo tenía mal entendido.
Saludos (:
__________________
'Dadme un punto de apoyo y moveré el mundo' - Arquímedes
Alianza DIOSES [-GOD-] Ikariam - Mundo Ny (s13)
  #15 (permalink)  
Antiguo 03/06/2010, 04:55
 
Fecha de Ingreso: septiembre-2003
Ubicación: Barcelona
Mensajes: 41
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Validar formulario

A ver, no lo entiendo, si solo dejo el primer if, el de nombre y apellidos, funciona, si pongo algun if más ya no funciona, que estoy haciendo mal, ya que segun lo que comentáis y los ejemplos de diferentes webs, está bien, vas validando con if y si cumple todos muestra el ultimo alert ?? ,

Gracias anticipadas

Código Javascript:
Ver original
  1. function valida_envia(frm){
  2.      var nombre = frm.nombre ;
  3.      var apellido1 = frm.apellido1 ;
  4.      var apellido2 = frm.apellido2 ;
  5.      var ano = frm.ano;
  6.      var nif = frm.nif;
  7.      var direccion = frm.direccion;
  8.      var numero = frm.numero;
  9.      var cpostal = frm.cpostal;
  10.      var poblacion = frm.poblacion;
  11.      var email = frm.email;
  12.      var telefono = frm.telefono;
  13.      var password = frm.password;
  14.      var rpassword = frm.rpassword;
  15.      var number = nif.substr(0,nif.value.length-1);
  16.      var let = nif.substr(nif.value.length-1,1);
  17.      var number = number &#37; 23;
  18.      var letra='TRWAGMYFPDXBNJZSQVHLCKET';
  19.      var letra=letra.substring(numero,numero+1);
  20.          
  21.           if ((nombre.value.length == 0 ) || (apellido1.value.length == 0 ) || (apellido2.value.lengthlength == 0 ) ) {
  22.                  alert("Tiene que escribir su nombre y dos apellidos");
  23.                  nombre.focus()
  24.                  return 0;
  25.           }
  26.           if ((ano <= 1910) || (ano >= 1992 ))  {
  27.                   alert("Eres muy mayor o muy joven para esto");
  28.                   ano.focus()
  29.                   return 0;
  30.          }
  31.          if (letra!=let) {
  32.                      alert('Dni erroneo');
  33.                      nif.focus()
  34.                      return 0;
  35.          }
  36.          if ((direccion.value.length == 0 ) || (numero.value.length == 0 ) ) {
  37.                       alert("Por favor rellene dirección y numero");
  38.                      direccion.focus()
  39.                      return 0;
  40.          }
  41.          if (cpostal.value.length < 5 )  {
  42.                       alert("El c.Postal debe de ser de 5 dígitos");
  43.                       cpostal.focus()
  44.                       return 0;
  45.           }
  46.           if (poblacion.value.length == 0 ) {
  47.                       alert("Debes de rellenar el campo población");
  48.                       poblacion.focus()
  49.                       return 0;
  50.           }
  51.           if (/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/.test(email)) {
  52.                      alert("Debes de rellenar bien el campo Email");
  53.                      email.focus()
  54.                      return 0;
  55.           }
  56.           if (telefono.value.length < 9 )  {
  57.                      alert("Introduce un teléfono correcto(9 dígitos)");
  58.                      telefono.focus()
  59.                      return 0;
  60.            }
  61.            if (password.value.length < 4 )  {
  62.                      alert("la contraseña debe de ser entre 4 y 8 caracteres");
  63.                      password.focus()
  64.                      return 0;
  65.            }
  66.            if (rpassword != password) {
  67.                     alert("Las contraseñas no coinciden, revíselo");
  68.                     rpassword.focus()
  69.                     return 0;
  70.            }
  71. alert("Muchas gracias por enviar el formulario");
  72.          
  73. }
  #16 (permalink)  
Antiguo 03/06/2010, 05:38
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formulario

Hola

Esto ya es un poco absurdo, no crees?

A simple vista, corrige esto

Cita:
apellido2.value.length
ano.value <= 1910) || (ano.value >= 1992 ))
rpassword.value != password.value
quizás algo mas

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #17 (permalink)  
Antiguo 03/06/2010, 05:51
 
Fecha de Ingreso: septiembre-2003
Ubicación: Barcelona
Mensajes: 41
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Validar formulario

Gracias, Adler, ya se que es absurdo,

He corregido los detalles que me has indicado, pero igualmente no funciona, no se porque valida bien si solo hago validar el primer if, y no funciona si quiero que valide todos los if, no sé si lo lógico seria con else, siguiente if anidado, pero por lo que habéis comentado y he visto en difeerentes ejemplos no es necesario, va cumpliento todos los condicionales hasta el final.

Gracias a todos, creo estoy obcecado y ya no lo veo,

Saludos,

JAvier
  #18 (permalink)  
Antiguo 03/06/2010, 14:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formulario

Hola

Tenía un montón de errores (le habías puesto acento a los nombres de algunos campos, has creado nuevos tipos de campos ¿ num ?, los campos no tenían values,etc...)
Y después de mas de 20 minutos batallando, aquí lo tienes. Espero que te pares y veas las diferencias entre lo que tu hacías y como está ahora, para que así la próxima vez ......

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function valida_envia(frm){
  5. var nombre = frm.nombre.value;
  6. var apellido1 = frm.apellido1.value;
  7. var apellido2 = frm.apellido2.value;
  8. var patronOKnomb = /^([A-Za-zñÑ]{3,20})$/; // Acepta letras
  9. if ((!patronOKnomb.test(nombre)) || (!patronOKnomb.test(apellido1)) || (!patronOKnomb.test(apellido2))) {
  10.         alert("Tiene que escribir su nombre y dos apellidos");
  11.         return (false);
  12. }
  13.  
  14.  
  15. var ano = frm.ano.value;
  16. var patronOKano = /^(\d{4})$/; // Acepta números
  17. if (!patronOKano.test(ano))  {
  18.                       alert("Ha de rellena del campo año");
  19.                       return (false);
  20.          }
  21.  
  22.  
  23. if ((ano<= '1910') || (ano >= '1992'))  {
  24.         alert("Eres muy mayor o muy joven para esto");
  25.         return (false);
  26.          }
  27.  
  28.  
  29. var nif = frm.nif.value;
  30. var patronOKnif = /^(\d{1,8}[A-Z])$/;
  31.  
  32. if (!patronOKnif.test(nif)) {
  33.                          alert('Dni erroneo');
  34.         return (false);
  35.          }
  36.  
  37.  
  38. var number = nif.substr(0,nif.length-1); // número nif
  39. var letra = nif.substr(nif.length-1,1); // letra nif
  40. var comprobacion = (number &#37; 23);
  41. var arr_letras = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','T');
  42. var letra_array = arr_letras[comprobacion];
  43. if (letra != letra_array) {
  44.         alert("La letra no corresponde al número dado");
  45.         return (false);
  46. }
  47.  
  48.  
  49. var direccion = frm.direccion.value;
  50. var numero = frm.numero.value;
  51. var patronOKdir = /^([A-Za-z0-9ñÑ]{3,50})$/; // Acepta letras y números
  52. var patronOKnum = /^(\d{1,4})$/; // Acepta números
  53. if ((!patronOKdir.test(direccion)) || (!patronOKnum.test(numero))) {
  54.                           alert("Por favor rellene dirección y numero");
  55.         return (false);
  56.          }
  57.  
  58.  
  59. var cpostal = frm.cpostal.value;
  60. var patronOKcpostal = /^(\d{5})$/; // Acepta números
  61. if (!patronOKcpostal.test(cpostal))  {
  62.         alert("El c.Postal debe de ser de 5 dígitos");
  63.         return (false);
  64.          }
  65.  
  66.  
  67.  
  68. var poblacion = frm.poblacion.value;
  69. var patronOKpob = /^([A-Za-zñÑ]{3,25})$/; // Acepta letras
  70. if (!patronOKpob.test(poblacion))  {
  71.         alert("Debes de rellenar el campo población");
  72.         return (false);
  73.          }
  74.  
  75.  
  76. var email = frm.email.value;
  77. var patronOKmail = /^([0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/;
  78. if (!patronOKmail.test(email)) {
  79.         alert("Debes de rellenar bien el campo Email");
  80.                          return (false);
  81.            }
  82.  
  83.  
  84. var telefono = frm.telefono.value;
  85. var patronOKfone = /^(\d{9})$/; // Acepta números
  86. if (!patronOKfone.test(telefono))  {
  87.         alert("Introduce un teléfono correcto(9 dígitos)");
  88.         return (false);
  89.          }
  90.  
  91.  
  92. var password = frm.password.value;
  93. var patronOKpass = /^([A-Za-z0-9]{4,8})$/; // Acepta letras y números
  94. if (!patronOKpass.test(password))  {
  95.          alert("la contraseña debe de ser entre 4 y 8 caracteres");
  96.         return (false);
  97.          }
  98.  
  99.  
  100. var rpassword = frm.rpassword.value;
  101. if (rpassword != password) {
  102.                         alert("Las contraseñas no coinciden, revíselo");
  103.                         return (false);
  104.            } else{
  105.                        alert("Muchas gracias por enviar el formulario");
  106.         return (true);
  107. }
  108. }
  109. </script>
  110. </head>
  111. <body>
  112. <form name="formulario" action="form.html" method="post" onsubmit="return valida_envia(this);">
  113.     <h1>DATOS PERSONALES</h1>
  114.     <P>Rellenar las casillas siguientes con sus datos personales</P>
  115.     <table>
  116.         <tr>
  117.             <td>Nombre(*):</td>
  118.             <td><input type="text" value="" name="nombre" size="30" maxlength="30"></td>
  119.         </tr>
  120.         <tr>
  121.             <td>1 Apellido (*):</td>
  122.             <td><input type="text" value="" name="apellido1" size="30" maxlength="30"></td>
  123.         </tr>
  124.         <tr>
  125.             <td>2º Apellido (*):</td>
  126.             <td><input type="text" value="" name="apellido2" size="30" maxlength="30"></td>
  127.         </tr>
  128.         <tr>      
  129.             <td>Sexo(*):</td>
  130.             <td><input type="radio" name="sexo" value="Varon" checked> Hombre</td>
  131.             <td><input type="radio" name="sexo" value="Hembra"> Mujer</td>
  132.         </tr>
  133.         <tr>
  134.               <td>Fecha de nacimiento(*):</td>
  135.               <td>día:</td>
  136.               <td>    <select name="dia">
  137.                             <option value="1">1 </option>
  138.                             <option value="2">2 </option>
  139.                             <option value="3">3 </option>
  140.                             </select>
  141.                  </td>
  142.                  <td>mes:</td>
  143.                              <td>
  144.                              <select name="mes">
  145.                             <option value="1">1 </option>
  146.                             <option value="2">2 </option>
  147.                             </select>
  148.                             </td>
  149.                             <td>Año(*):</td>
  150.                             <td> <input type="text" value="" name="ano" size="4" maxlength="4"></td>
  151.         </tr>
  152.         <tr>
  153.              <td>N.I.F.(*):</td>
  154.              <td> <input type="text" value="" name="nif" size="9" maxlength="9"></td>
  155.         </tr>
  156.         <tr>
  157.               <td>Tipo de via:</td>
  158.               <td>    <select name="tipocalle">
  159.                             <option value="1">Calle </option>
  160.                             <option value="2">Avenida </option>
  161.                             <option value="3">Travesera </option>
  162.                             <option value="4">Paseo </option>
  163.                             <option value="5">Rambla </option>
  164.                             <option value="6">Plaza </option>
  165.                       </select>
  166.             </td>
  167.        </tr>
  168.        <tr>
  169.              <td>Dirección (*):</td>
  170.              <td><input type="text" value="" name="direccion" size="50" maxlength="50"></td>
  171.        </tr>
  172.        <tr>
  173.              <td>Numero (*):</td>  
  174.              <td><input type="text" value="" name="numero" size="4" maxlength="4"></td>    
  175.        </tr>
  176.        <tr>    
  177.              <td>Portal:  
  178.              <td><input type="text" value="" name="portal" size="3" maxlength="3"></td>    
  179.              <td>Escalera:
  180.              <td><input type="text" value="" name="escalera" size="1" maxlength="1"></td>
  181.        </tr>
  182.        <tr>
  183.              <td>Piso:
  184.              <td><input type="text" value="" name="piso" size="2" maxlength="2"></td>    
  185.              <td>Puerta:
  186.              <td><input type="text" name="puerta" size="2" maxlength="2"></td>
  187.        </tr>
  188.        <tr>    
  189.              <td>Código Postal (*):  
  190.              <td><input type="text" value="" name="cpostal" size="5" maxlength="5"></td>  
  191.        </tr>
  192.        <tr>    
  193.              <td>Población (*):
  194.              <td><input type="text" value="" name="poblacion" size="25" maxlength="25"></td>
  195.        </tr>
  196.        <tr>
  197.              <td>Email@ (*):
  198.              <td><input type="text" value="" name="email" size="25" maxlength="25" ></td>
  199.        </tr>
  200.        <tr>
  201.              <td>Telefono (*):
  202.              <td><input type="text" value="" name="telefono" size="9" maxlength="9"></td>
  203.        </tr>    
  204.              <td>Telefono Móbil :
  205.              <td><input type="text" value="" name="mobil" size="9" maxlength="9"></td>
  206.         <tr>  
  207.              <td>Contraseña (*):
  208.              <td><input type="password" value="" name="password"size="8" maxlength="8"></td>
  209.         </tr>
  210.         <tr>    
  211.              <td>Repetir Contraseña (*):
  212.              <td><input type="password" value="" name="rpassword"size="8" maxlength="8"></td>
  213.          </tr>
  214.          <tr>
  215.          
  216.          <td><input type="submit" value="Enviar" name="envio"></td>
  217.          <td><input name="Restablecer" type="reset" /></td>
  218.          </tr>
  219.  </table>
  220.      </form>
  221. </body>
  222. </html>

Pd: A los select les he quitado opciones por que superaba la cantidad de caracteres admitidos por post

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #19 (permalink)  
Antiguo 03/06/2010, 16:05
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Validar formulario

¿Por qué se pone "return (false);" y no "return false;"?¿Hay alguna diferencia?
¿Y qué significa "(number % 23);"?
Saludos (:
PD: ¿Por qué en el código sale &#37 y en mi mensaje copiando y pegando %?
__________________
'Dadme un punto de apoyo y moveré el mundo' - Arquímedes
Alianza DIOSES [-GOD-] Ikariam - Mundo Ny (s13)

Última edición por _cronos; 03/06/2010 a las 16:07 Razón: ¿?
  #20 (permalink)  
Antiguo 03/06/2010, 16:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formulario

Hola

Cita:
Iniciado por _cronos Ver Mensaje
¿Por qué se pone "return (false);" y no "return false;"?¿Hay alguna diferencia?
Es exactamente lo mismo, cada uno a lo que está acostubrado

Cita:
Iniciado por _cronos Ver Mensaje
¿Y qué significa "(number % 23);"?
Con ello sacas el resto de la división, por ejemplo 13 % 2 el resto es 1

Cita:
Iniciado por _cronos Ver Mensaje
¿Por qué en el código sale &#37 y en mi mensaje copiando y pegando %?
Eso es un replace que lo convierte en entidad HTML. El foro lo hace unicamente cuando está encerrado entre las etiquetas de código. Probablemente por que se guarda en la bd como entidad HTML y después al volver a hacer el replaces en ese caso en particular no se ejecuta
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #21 (permalink)  
Antiguo 03/06/2010, 16:21
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Validar formulario

Ok, lo de % si lo sabía pero al salir % no tenía ni idea de a qué se refería. Muchas gracias.
Saludos (:
__________________
'Dadme un punto de apoyo y moveré el mundo' - Arquímedes
Alianza DIOSES [-GOD-] Ikariam - Mundo Ny (s13)

Etiquetas: formulario
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 13:00.