Hola ya he copiado la funcion para llamar a mis paginas correctamente y a los archivos css y js de forma independiente tal como dice las instrucciones.
Pero sigue sin cargarme el codigo javascript del formulario
La funcion es correcta y esta todo bien ya que al cargar otro archivo js que llama a la funcion mensaje en el Formulario.html con un simple alert para que me muestre el mensaje si sale y el estilo EstiloFormulario.css tambien lo carga bien pero al llamar a la funcion validacion de mi Formulario.js no se ejecuta
Creo que el problema esta con mi codijo Formulario.js
No se si tendra que ver el
this que uso en la funcion return validacion(this)
ya que hace referencia a ese formulario que tiene las etiquetas nombre apellido contraseña,etc.
Y cuando carga en el Index no hay ningun formulario por lo que el this no vale yaque no le paso ningun nombre de formulario.
Y como te digo
si cargo la pagina directamente es decir la abro directamente con el navegador sin que antes abra el Index y luego llame a la funcion cargarAjax() el codigo si que me va.
Mi codigo del Formulario.js es
Código HTML:
// JavaScript Document
function validacion(formulario){
nombre=document.getElementById("Nombre").value;
apellido=document.getElementById("Apellidos").value;
contraseña=document.getElementById("Contraseña").value;
radiobutton=document.getElementsByName("radiobutton");
telefono1=document.getElementById("NumeroT1").value;
telefono2=document.getElementById("NumeroT2").value;
telefono3=document.getElementById("NumeroT3").value;
movil1=document.getElementById("NumeroM1").value;
movil2=document.getElementById("NumeroM2").value;
movil3=document.getElementById("NumeroM3").value;
if(nombre==null || nombre.length==0 || /^\s+$/.test(nombre)){alert("Introduce Nombre");return false;}
else if(nombre==null || apellido.length==0 || /^\s+$/.test(apellido)){alert("Introduce Apellidos");return false;}
else if(contraseña==null || contraseña.length==0 || /^\s+$/.test(contraseña)){alert("Introduce Contraseña");return false;}
var seleccionado=false;
for(var i=0;i<radiobutton.length;i++){if(radiobutton[i].checked){seleccionado=true;break;}}
if(!seleccionado){alert("Selecciona un Sexo");return false;}
var dia=document.getElementById("Dia").value;
var mes=document.getElementById("Mes").value;
var ano=document.getElementById("Ano").value;
fecha = new Date(dia,mes,ano);
if(!isNaN(fecha)){alert("Introduce Fecha de Nacimiento");return false;}
if( !(/^\d{3}$/.test(telefono1)) && !isNaN(telefono1)){alert("Introduce Número de Teléfono");return false;}
else if( !(/^\d{3}$/.test(telefono2)) && !isNaN(telefono2)){alert("Introduce Número de Teléfono");return false;}
else if( !(/^\d{3}$/.test(telefono3)) && !isNaN(telefono3)){alert("Introduce Número de Teléfono");return false;}
if( !(/^\d{3}$/.test(movil1)) && !isNaN(movil1)){alert("Introduce Movil");return false;}
else if( !(/^\d{3}$/.test(movil2)) && !isNaN(movil2)){alert("Introduce Número de Movil");return false;}
else if( !(/^\d{3}$/.test(movil3)) && !isNaN(movil3)){alert("Introduce Número de Movil");return false;}
//return true;
}
Llamo a la funcion desde el Formulario.html asi:
Código HTML:
<form name = "formulario" class="formulario" action="" method="" onSubmit="return validacion(this);">
<input type="text" name="nombre" id="Nombre" value="">
<input type="submit" value="Enviar"/>
</form>
.Tal y como biene en la pagina que me diste he quitado las etiquetas head y body con los enlaces a javascript y css.
.Solo pongo el input del nombre, que luego uso en el Formulario.js para validarlo.
.Claro que dentro estan los input text con los correspondientes ID's de todos pero no lo pongo sino el formulario seria muy largo.
Y ahora cargo la pagina con la funcion que me has dado asi
Código HTML:
<a onclick="cargarAjax('Formulario.html','contenido');cargarRecursos('EstiloFormulario.css','Formulario.js','unafuncion.js');">Registrarse</a>
El unafuncion.js es otro archivo js que use para verificar si me cogia el codigojavascript y si lo coge pero el de mi Formulario.js no.
Por lo que no me reconoce el nombre=document.getElementById("Nombre").value; ya que ensi no hay nada en el index que tenga id="Nombre".