Me estoy desesperando un poco con este tema, a ver si me podéis ayudar.
He construido un formulario: se valida con JS y después da paso a una página para que conecte con la base de datos y se inserte la información.
Me ha atascado con la parte de la validación.
Cuando se presiona sobre el botón enviar no sucede nada, salvo que en la barra de direcciones a la URL se le añade un ? Lo curioso es que sobre un editor de html sí que funciona. Valida correctamente y salen los errores en caso de que los haya....¿¿qué estoy haciendo mal??
Mil gracias por adelantado
Adjunto el código
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Página de registro</title>
<link href="estilos.css" rel="stylesheet" type="text/css" media="screen" />
<script>
function enviar()
{
<!--recogida de variables-->
var name = document.getElementById("nombre").value;
var user = document.getElementById("usuario").value;
var correo = document.getElementById ("email").value;
var posarroba = correo.indexOf("@"); <!--Asignamos a una variable la posicion del carácter-->
var pospunto = correo.lastIndexOf(".");
var contra1 = document.getElementById("pass1").value;
var contra2 = document.getElementById("pass2").value;
var year = document.getElementById("año").selectedIndex;
var day = document.getElementById("dia").selectedIndex;
var month = document.getElementById("mes").selectedIndex;
<!--Validación de los campos del forumalario-->
if (name==null || name == "")
{
document.getElementById("error").innerHTML = "Este campo no puede estar vacio";
}
if (user==null || user == "")
{
document.getElementById("error2").innerHTML = "Este campo no puede estar vacio";
}
if (posarroba<1 || pospunto<posarroba+2 || pospunto+2>=correo.length)
{
document.getElementById("error3").innerHTML = "El correo esta mál escrito";
}
if (contra1.length <= 6)
{
document.getElementById("error4").innerHTML = "Escribe como mínimo seis letras";
}
if (contra1 != contra2)
{
document.getElementById("error5").innerHTML = "Las claves no son iguales";
}
if (year==null || year==0 || month==null || month==0 || day==null || day==0)
{
document.getElementById("error6").innerHTML = "Tienes que escoger una fecha de nacimiento";
return 0;
}
else
{
window.location.assign("registro_aceptado.php")
}
}
</script>
</head>
<body>
<h1 class="titular"> Crea tu usuario </h1>
<form class="formulario" id="registro">
<fieldset>
<legend> *Campos obligatorios </legend>
<div>
Tu nombre:
<input type="text" id="nombre"><p class="fallos" id="error"></p><br />
</div>
<div>
Tu usuario:
<input type="text" id="usuario"><p class="fallos" id="error2"></p><br />
</div>
<div>
Tu email:
<input type="text" id="email"><p class="fallos" id="error3"></p><br /><br />
</div>
<div>
<label for="contraseña">Tu contraseña:</label>
<input type="password" id="pass1"><p class="fallos" id="error4"></p><br />
</div>
<div>
<label for="contraseña2">Vuelve a escribir tu contraseña:</label>
<input type="password" id="pass2"><p class="fallos" id="error5"></p><br />
</div>
<div>
<label for="fecha">Fecha de nacimiento:</label>
<select id="dia">
<option value="">-Día-</option>
<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>
<select id="mes">
<option value="">-Mes-</option>
<option value="enero">enero</option>
<option value="febrero">febrero</option>
<option value="marzo">marzo</option>
<option value="abril">abril</option>
<option value="mayo">mayo</option>
<option value="junio">junio</option>
<option value="1">julio</option>
<option value="1">agosto</option>
<option value="1">sepiembre</option>
<option value="1">octubre</option>
<option value="1">noviembre</option>
<option value="1">diciembre</option>
</select>
<select id="año">
<option value="">-Año-</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
</select><p class="fallos" id="error6"></p><br />
</div>
<div>
<label for="sexo">¿Cuál es tu sexo?</label><br />
Mujer <input type="radio" id="sexo" value="mujer" checked>
Hombre <input type="radio" id="sexo" value="hombre"><br />
</div>
<input type="reset" value="Borrar">
<button onclick="enviar()">¡Registrarme!</button>
</form>
</fieldset>
<br />
</body>
</html>