Foros del Web » Programando para Internet » Javascript »

Cargar datos cada vez que se carga una section

Estas en el tema de Cargar datos cada vez que se carga una section en el foro de Javascript en Foros del Web. Hola a todos tengo el siguiente problema. Tengo el siguiente código HTML: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < html >     < head ...
  #1 (permalink)  
Antiguo 09/02/2015, 12:06
 
Fecha de Ingreso: noviembre-2014
Mensajes: 27
Antigüedad: 10 años, 1 mes
Puntos: 0
Cargar datos cada vez que se carga una section

Hola a todos tengo el siguiente problema. Tengo el siguiente código HTML:

Código HTML:
Ver original
  1.     <head>
  2.         <title>TODO supply a title</title>
  3.         <meta charset="UTF-8">
  4.         <meta name="viewport" content="width=device-width, initial-scale=1.0">
  5.         <link rel="stylesheet" type="text/css" href="../css/estilo.css">
  6.         <script src="../js/ajax.js" type="text/javascript"></script>
  7.     </head>
  8.     <body onload="cargarDatos()">
  9.         <header>
  10.             Gestion de Cursos
  11.             <img src="../imagenes/logo-ies.jpg"/>
  12.         </header>
  13.         <aside>
  14.             <button onclick="irSeccion(1)">Turno de Mañana</button><br>
  15.             <button onclick="irSeccion(2)">Turno de Tarde</button><br>
  16.         </aside>
  17.         <article id="principal">
  18.             <p id="bienvenida">Bienvenido a la aplicacion.</p>
  19.             <section id="t_manana">
  20.                 Grupo:
  21.                 <div id="grupo"></div><br>
  22.                 Alumno:
  23.                 <div id="alumno"></div><br>
  24.                 Profesor:
  25.                 <div id="profesor"></div>
  26.                 Asignaturas:
  27.                 <div id="asignaturas"></div>
  28.             </section>
  29.             <section id="t_tarde">
  30.                 Grupo:
  31.                 <div id="grupo"></div><br>
  32.                 Alumno:
  33.                 <div id="alumno"></div><br>
  34.                 Profesor:
  35.                 <div id="profesor"></div>
  36.                 Asignaturas:
  37.                 <div id="asignaturas"></div>
  38.             </section>
  39.         </article>
  40.     </body>
  41. </html>

Lo he intentado estructurar con la estructura que utiliza HTML5 y por eso esta dividido en header, aside, article, section...

El código JavaScript que utilizo para navegar por la página y recargar los datos de la misma es el siguiente:

Código Javascript:
Ver original
  1. function irSeccion(seccion){
  2.     switch (seccion){
  3.         case 1:
  4.             var t_manana=document.getElementById("t_manana");
  5.             t_manana.style.display='block';
  6.             t_manana.addEventListener('load',cargarDatos(),true);
  7.             document.getElementById("bienvenida").style.display='none';
  8.             document.getElementById("t_tarde").style.display='none';
  9.             break;
  10.         case 2:
  11.             var t_tarde=document.getElementById("t_tarde");
  12.             t_tarde.style.display='block';
  13.             t_tarde.addEventListener('load',cargarDatos(),true);
  14.             document.getElementById("bienvenida").style.display='none';
  15.             document.getElementById("t_manana").style.display='none';
  16.             break;
  17.     }
  18. }
  19.  
  20. var oAjax;
  21. var jsonObject;
  22. function AJAXCrearObjeto(){
  23.     if (window.XMLHttpRequest) {
  24.         objetoAjax=new XMLHttpRequest();
  25.     }
  26.     else{
  27.         objetoAjax=new ActiveXObject("Microsoft.XMLHTTP");
  28.     }
  29.     return objetoAjax;
  30. }
  31.  
  32. function cargarDatos(){
  33.     oAjax=new AJAXCrearObjeto();
  34.     oAjax.open('GET','../php/cargarGrupo.php',true);
  35.     oAjax.send();
  36.     oAjax.onreadystatechange=respuestaCargaGrupo;
  37. }
  38.  
  39. function respuestaCargaGrupo(){
  40.     if(oAjax.readyState==4 && oAjax.status==200){
  41.         alert("responseText:"+oAjax.responseText);
  42.         var miArray=oAjax.responseText;
  43.         mostrarGrupo(miArray);
  44.         oAjax.open('GET','../php/cargarProfesor.php',true);
  45.         oAjax.send();
  46.         oAjax.onreadystatechange=respuestaCargaProfesor;
  47.     }
  48. }
  49.  
  50. function cargarAlumno(){
  51.     var grupo=document.getElementById("listaGrupos").value;
  52.     alert(grupo);
  53.     oAjax.open('GET','../php/cargarAlumnos.php?GRUPO='+grupo,true);
  54.     oAjax.send();
  55.     oAjax.onreadystatechange=respuestaCargaAlumno;
  56. }
  57.  
  58. function respuestaCargaProfesor(){
  59.     if(oAjax.readyState==4 && oAjax.status==200){
  60.         alert("responseText:"+oAjax.responseText);
  61.         var miArray=oAjax.responseText;
  62.         mostrarProfesores(miArray);
  63.         oAjax.open('GET','../php/cargarAsignaturas.php',true);
  64.         oAjax.send();
  65.         oAjax.onreadystatechange=respuestaCargaAsignaturas;
  66.     }
  67. }
  68.  
  69. function respuestaCargaAsignaturas(){
  70.     if(oAjax.readyState==4 && oAjax.status==200){
  71.         alert("responseText:"+oAjax.responseText);
  72.         var miArray=oAjax.responseText;
  73.         mostrarAsignaturas(miArray);
  74.         oAjax.open('GET','../php/cargarCausas.php',true);
  75.         oAjax.send();
  76.         oAjax.onreadystatechange=respuestaCargaCausas;
  77.     }
  78. }
  79.  
  80. function mostrarGrupo(miArray){
  81.     var array_datos=JSON.parse(miArray);
  82.     var grupo=document.getElementById("grupo");
  83.     var inputGrupo=document.createElement("input");
  84.     inputGrupo.setAttribute("list","listaGrupos");
  85.     var datalist=document.createElement("datalist");
  86.     datalist.setAttribute("id","listaGrupos");
  87.     for(var i in array_datos){
  88.         var opcion=document.createElement("option");
  89.         opcion.innerHTML=array_datos[i].COD_GRUPO;
  90.         opcion.setAttribute("value",array_datos[i].COD_GRUPO);
  91.         datalist.appendChild(opcion);
  92.     }
  93.     inputGrupo.addEventListener('change',cargarAlumno,true);
  94.     inputGrupo.appendChild(datalist);
  95.     grupo.appendChild(inputGrupo);
  96. }
  97.  
  98. function mostrarProfesores(miArray){
  99.     var array_datos=JSON.parse(miArray);
  100.     var profesor=document.getElementById("profesor");
  101.     var inputProfesor=document.createElement("input");
  102.     inputProfesor.setAttribute("list","listaProfesores");
  103.     var datalist=document.createElement("datalist");
  104.     datalist.setAttribute("id","listaProfesores");
  105.     for(var i in array_datos){
  106.         var opcion=document.createElement("option");
  107.         opcion.innerHTML=array_datos[i].NOM_PROF;
  108.         opcion.setAttribute("value",array_datos[i].NOM_PROF);
  109.         datalist.appendChild(opcion);
  110.     }
  111.     inputProfesor.appendChild(datalist);
  112.     profesor.appendChild(inputProfesor);
  113. }
  114.  
  115. function mostrarAlumnos(miArray){
  116.     var array_datos=JSON.parse(miArray);
  117.     var alumno=document.getElementById("alumno");
  118.     var inputAlumno=document.createElement("input");
  119.     inputAlumno.setAttribute("list","listaAlumnos");
  120.     var datalist=document.createElement("datalist");
  121.     datalist.setAttribute("id","listaAlumnos");
  122.     for(var i in array_datos){
  123.         var opcion=document.createElement("option");
  124.         opcion.innerHTML=array_datos[i].NOM_ALUM;
  125.         opcion.setAttribute("value",array_datos[i].NOM_ALUM);
  126.         datalist.appendChild(opcion);
  127.     }
  128.     inputAlumno.appendChild(datalist);
  129.     alumno.appendChild(inputAlumno);
  130. }
  131.  
  132. function mostrarAsignaturas(miArray){
  133.     var array_datos=JSON.parse(miArray);
  134.     var asignatura=document.getElementById("asignaturas");
  135.     var inputAsignatura=document.createElement("input");
  136.     inputAsignatura.setAttribute("list","listaAsignaturas");
  137.     var datalist=document.createElement("datalist");
  138.     datalist.setAttribute("id","listaAsignaturas");
  139.     for(var i in array_datos){
  140.         var opcion=document.createElement("option");
  141.         opcion.innerHTML=array_datos[i].NOM_ASIG;
  142.         opcion.setAttribute("value",array_datos[i].NOM_ASIG);
  143.         datalist.appendChild(opcion);
  144.     }
  145.     inputAsignatura.appendChild(datalist);
  146.     asignatura.appendChild(inputAsignatura);
  147. }

En un principio los dos section(t_manana y t_tarde) están ocultos con el css y cuando llamo a la funcion irSeccion() los muestra en funcion del botón que haya pulsado. Tambien al cargar estas secciones quiero que se ejecute la funcion cargarDatos() pero solo se ejecuta al cargar el primer section. Eso creo que es por que los id dentro de los section. Si es por eso es muy facil la solución cambiar el valor del id. Si no nose porque no me funciona y os pediria ayuda por favor.

Se que no me se explicar muy bien pero si teneis alguna duda de lo que necesito no dudeis de preguntar.

Muchas Gracias.

Etiquetas: ajax, cada, funcion, html, input, js, php, section, valor, vez
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 02:32.