Foros del Web » Programando para Internet » Javascript »

Validacion de formulario

Estas en el tema de Validacion de formulario en el foro de Javascript en Foros del Web. Hola! bueno antes de nada gracias por leer este tema. Mi problema es que tengo un formulario que esta validado en un js y lo ...
  #1 (permalink)  
Antiguo 08/01/2008, 06:25
 
Fecha de Ingreso: noviembre-2006
Mensajes: 27
Antigüedad: 18 años, 2 meses
Puntos: 0
Validacion de formulario

Hola! bueno antes de nada gracias por leer este tema. Mi problema es que tengo un formulario que esta validado en un js y lo que necesito es una vez valide vaya a una página que yo quiero es decir.. os pongo mi codigo.

Código HTML:
<form action="registro.php" onsubmit="return comprueba();" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="hidden" value="1" id="inicio" name="inicio">
            <table align="center" border="0" cellpadding="0" cellspacing="0" width="450">
              <tr> 
                <td class="espacios">Nombre&nbsp;<font color="#ff0000">*</font></td>
				</tr><tr>
                <td class="espacios"><input name="nombre" type="text" id="nombre"></td>
              </tr>
              <tr>
			  <td class="espacios">Apellido1<font color="#ff0000"> *</font></td>
			  </tr><tr>
			  <td class="espacios"><input name="apellido1" id="apellido1" type="text"></td>
			  </tr>
			  <tr> 
                <td class="espacios">Movil<font color="#ff0000"> *</font></td>
</tr><tr>
                <td class="espacios"><label>
                  <input type="text" name="telefono" id="telefono" />
                </label></td>
              </tr>
			  <tr> 
                <td class="espacios">Usuario<font color="#ff0000"> *</font>&nbsp;</td>
				</tr><tr>
                <td class="espacios"><input name="usuario" id="usuario" type="text"></td>
              </tr>
			  <tr> 
                <td class="espacios">E-mail <font color="#ff0000">*</font>&nbsp;</td>
</tr><tr>
                <td class="espacios"><input name="email" id="email" type="text"></td>
              </tr>
			  <tr><td height="15"></td></tr>
			  <tr> 
                <td colspan="2" class="espacios">Bases <font color="#ff0000">*</font>&nbsp;
                  <input name="bases" type="checkbox" class="Estilo5" value="ok" />
                  Acepto y me comprometo al cumplimiento de lo establecido en &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; las <a href="baseslegales.htm">bases legales</a> de la presente promoci&oacute;n.             </td>

                
              </tr>
			  <tr><td height="15"></td></tr>
              <tr> 
                  <td width="147" align="left" valign="bottom"><a href="javascript:document.form1.onsubmit()"><img src="imagenes/boton-enviar.gif" border="0"/></a></td>
              </tr>
              </table>
          </form> 


Ese es el codigo del formulario entonces hace el onsubmit y va al .js alli como vereís acontinuación realizar una validacion y devuelve true o false depende de la validación, pero una vez hace eso, yo quiero que vaya a una pagina que se llama registro.php para guardar los datos tal y como pone en el action del formulario [action="registro.php"].

Mi codigo js es el siguiente(la validación la hace bien) pero luego aparece una pagina en blanco y pone true:

Código:
function comprueba(){
	
		if( 
			document.form1.nombre.value == "escribe tu nombre" ||
			document.form1.nombre.value == "" ||
			document.form1.apellido1.value == "escribe tu primer apellido" ||
			document.form1.apellido1.value == "" ||
			document.form1.telefono.value == "escribe tu movil" ||
			document.form1.telefono.value == "" ||
			document.form1.usuario.value == "escribe tu usuario" ||
			document.form1.usuario.value == "" ||
			document.form1.email.value == "escribe tu e-mail" ||
			document.form1.email.value == "" 
			
			)
		{
		
			alert("Debes rellenar los campos obligatorios");
			
		}else{
		
				if(! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.form1.email.value)){
		
						alert("Debes introducir una dirección de e-mail válida")
		
				}else{
						
						if(document.form1.usuario.value=="escribe tu usuario" || document.form1.usuario.value=="")
						{
						alert("Debes introducir un usuario para poder resgistrarte");
						}else{
						
							if(document.form1.telefono.value=="escribe tu teléfono" || document.form1.telefono.value=="")
								{
										if(document.form1.bases.checked)
										{
											return true;
												//document.form1.submit();
											}else
											{
												alert("Debes aceptar las bases para poder registrate");
											}
								}else{
								
										if(isNaN(document.form1.telefono.value )) 
										{
												alert("El teléfono debe tener sólo números");
										} else {
												if(document.form1.telefono.value.length < 9)
													{
													alert("El teléfono debe tener 9 cifras");
													}else{
														if(document.form1.bases.checked){
															//document.form1.submit();
															return true; 
														}else{
															alert("Debes aceptar las bases para poder registrate");
														}
													}
									
										}
								}
							
							
						}
		
				}
				
		}
		
	}
A ver si alguién puede darme alguna solución.
Muchas gracias.
Un saludo
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 19:18.