Foros del Web » Programando para Internet » Javascript »

Cargar Formulario en Index

Estas en el tema de Cargar Formulario en Index en el foro de Javascript en Foros del Web. Hola tengo un problema al cargar la pagina del Formulario. Tengo una pagina Index en donde tengo un menu y al darle click en llas ...
  #1 (permalink)  
Antiguo 16/11/2012, 20:02
Avatar de bryanas2smr2010  
Fecha de Ingreso: noviembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Cargar Formulario en Index

Hola tengo un problema al cargar la pagina del Formulario.

Tengo una pagina Index en donde tengo un menu y al darle click en llas diferentes opciones estas se van cargando e el div contenido.

Con este codigo cargo la pagina Formulario en esta que es el Index.html:
Código HTML:
<body>
<div id="contenedor">
           <div id="contenido">
                     <a onclick="generaPeticion('Formulario.html')">Registrarse</a>
            </div>
<div>
</body> 
La pagina del Formulario la tengo validada con funciones javascript y todo funciona bien si ejecuto solo la pagina Formulario pero al llamar a la pagina Formulario del Index el codigo java script de la pagina Formulario ya no lo coge.

Repito al Cargar la pagina del Formulario.html si me funciona todo normal esdecir la pagina si se cargar al div contenido con la funcion generaPeticion().

Al cargar la pagina en el index ya no me coge el codigo javascript.

En la pagina Formulario.html el codigo javasccript lo tengo dentro de la etiqueta javascript dentro del head.Pero todo el codigo esta bien solo mi problema es al cargarlo desde el Index.


La funcion genera peticion si funciona bien ya que tambien cargo en el Index otras paginas con javascript no solo el Formilario.html pero es solo en este que no me coge el codigo javascript.


En conclusion hay alguna forma de enlazar el codigo javascript del Formulario.html al Index.html que es donde se carga.

Porfavor alguna idea de como podria hacer que me cogiera el codigo javascript en el Index.html

Muchas Gracias!!.
  #2 (permalink)  
Antiguo 16/11/2012, 21:59
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar Formulario en Index

Si supiésemos que es lo que hace generaPeticion() quizás pòdríamos darte una idea. Voy a suponer, que estás usando Ajax, en ese caso mirá este ejemplo y como trabaja la función cargarRecursos()

http://foros.emprear.com/ajax/html-c.../deportes.html
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 16/11/2012, 22:23
Avatar de bryanas2smr2010  
Fecha de Ingreso: noviembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Respuesta: Cargar Formulario en Index

Hola esta es la funcion que uso para cargar la pagina gracias por responder!!
Código HTML:
var obj;

    function generaPeticion(url){
 				if (window.XMLHttpRequest) {
    							    obj = new XMLHttpRequest();
    							    obj.onreadystatechange = procesaRespuesta;
    							    obj.open("GET", url, true);
        						    obj.send(null);} 

				else if (window.ActiveXObject) {
    								obj = new ActiveXObject("Microsoft.XMLHTTP");
    								if (obj) {
      									  obj.onreadystatechange = procesaRespuesta;
      									  obj.open("GET", url, true);
       									  obj.send();}
  									 } 
				     				else {
    								      alert("Su navegador no soporta AJAX");}
				}

    function procesaRespuesta() {
 				if (obj.readyState == 4) {
          						  document.getElementById('contenido').innerHTML = obj.responseText;}
							 }
  #4 (permalink)  
Antiguo 17/11/2012, 05:46
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar Formulario en Index

Bueno, es lo que suponia, la respuesta la vas a encontrar en dónde te indiqué.
Además es conveniente que tu funciçom procesaRespuesta() verifique el status 200, no solo el readyState 4

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 17/11/2012, 07:47
Avatar de bryanas2smr2010  
Fecha de Ingreso: noviembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Respuesta: Cargar Formulario en Index

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".

Última edición por bryanas2smr2010; 17/11/2012 a las 08:24
  #6 (permalink)  
Antiguo 17/11/2012, 13:22
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar Formulario en Index

Mirá este ejemplo
http://foros.emprear.com/ajax/basico/

En la validación (validar.js) usé solo esto para testear

Código Javascript:
Ver original
  1. function validacion(){
  2.         nombre=document.getElementById("Nombre").value;
  3.            
  4.         if(nombre==null || nombre.length==0 || /^\s+$/.test(nombre)){alert("Introduce Nombre");return false;}
  5.      
  6.     }
Puede que haya algún error en el resto, pero sin el form completo es dificil analizarlo. como se ve carga tanto el css externo como el javascript.

Aqui
return validacion(this)
El parámetro this no es necesario ya que estás identificando todos tus elementos a través de sus respectivos id y no en referencia al form que los contiene.

Yo te diría que revises una a una las acciones de validacion().

Un ultimo detalle, cuando vayas haciendo correcciones a posibles errores, entre prueba y prueba vacía por completo la cache del navegador ó los cambios no se van a reflejar

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 02/01/2013, 17:40
Avatar de bryanas2smr2010  
Fecha de Ingreso: noviembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Cargar Formulario en Index

OK muchas gracias ... disculpa por la demora :)
Ya me salio fui revisando todo el codigo desde el inicio poniendo todo en comentario e ir provando y era porque tenia una linea mal... Gracias!!

Etiquetas: formulario, funcion, html, index
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 09:20.