Foros del Web » Programando para Internet » Javascript »

Subpaginas no ejecutan javascript ajax

Estas en el tema de Subpaginas no ejecutan javascript ajax en el foro de Javascript en Foros del Web. Hola a todos. Les comento, estoy creando una pagina que dentro de un div llama a otras paginas dependiendo de la accion del usuario. Codigo ...
  #1 (permalink)  
Antiguo 05/06/2012, 15:38
 
Fecha de Ingreso: mayo-2011
Mensajes: 105
Antigüedad: 12 años, 11 meses
Puntos: 3
Pregunta Subpaginas no ejecutan javascript ajax

Hola a todos. Les comento, estoy creando una pagina que dentro de un div llama a otras paginas dependiendo de la accion del usuario.

Codigo HTML PHP:

Código PHP:
Ver original
  1. <!--div that shows the result of the selected option-->
  2.     <div id="optionselected">
  3.         <?php
  4.             if (isset($_GET['tab']))
  5.             {
  6.                 if ($_GET['tab'])
  7.                 {
  8.                     $pag = $_GET['tab'];
  9.                 }
  10.                 else
  11.                 {
  12.                     $pag = "subpages/setaccount/generalaccount";
  13.                 }
  14.                 include ($pag.".php");
  15.             }
  16.             else
  17.             {
  18.                 include ("subpages/setaccount/generalaccount.php");
  19.             }          
  20.          ?>
  21.     </div>


Cada subpagina se llama asi:

<div class="option"><table border="0" style="height:auto;"><tr><td><img src="images/metaphors/accountoptions/editinformation.png" height="16px"/></td><td valign="middle"><a href="<?php echo($_SERVER['PHP_SELF']); ?>?tab=subpages/setaccount/generalaccount" target="_top">Editar Mi Informaci&oacute;n</a></td></tr></table></div>

luego, cada subpagina tiene formularios y otros elementos que usan ajax para procesar las tareas.

Los archivos ajax .js se llaman desde la pagina padre:

Código HTML:
Ver original
  1. <script src="scripts/ajaxeditaccount/ajaxeditname.js"></script>
  2. <script src="scripts/ajaxeditaccount/ajaxeditplaceofbirth.js"></script>
  3. <script src="scripts/ajaxeditaccount/ajaxeditplaceofliving.js"></script>
  4. <script src="scripts/ajaxeditaccount/ajaxeditdateofbirth.js"></script>
  5. <script src="scripts/ajaxeditaccount/ajaxeditmobile.js"></script>
  6. <script src="scripts/ajaxeditaccount/ajaxeditpassword.js"></script>
  7. <script src="scripts/ajaxeditaccount/ajaxeditjob.js"></script>
  8. <script src="scripts/ajaxeditaccount/ajaxsaveskill.js"></script>
  9. <script src="scripts/ajaxsetaccount.js"></script>


Al cargar la pagina, el DOM muestra los elementos de la pagina padre y los elementos de la pagina hija como uno solo....

Por lo tanto cada evento click y otros eventos de los nodos de la pagina hija los llamo en el evento window.onload = function(){} de la pagina padre...

La primera pagina que cargo en la primera opcion, funciona perfectamente!!!

EL PROBLEMA: la segunda pagina a diferencia de la primera, contiene un formulario id level, name level, con unos inputs radio que permiten al usuario calificar o votar definiendo un ranking...

Sigo la misma tecnica para procesar el formulario que usé en la primera pagina... pero la segunda pagina no lee funciones javascript
La pagina padre no lee los elementos de la pagina hija 2, por lo tanto en su onload los eventos click de pagina hija 2 no funcionan...

revisando y revisando... me encontré con que las funciones se leen si pongo algo como: resultado = mifuncion; (donde mi funcion retorna un valor) y no lee cosas como resultado = mifuncion(); Y ADEMAS NO CAPTURA LOS RETURN porque al hacer un alert(resultado); me arroja es la estructura de la funcion....

CREO...que lo anterior sucede porque el dom de la pagina hija 2 no es reconocido en el onload de la pagina padre, a pesar de que reviso el dom global y ahi aparecen TODOS LOS ELEMENTOS de pagina hija y padre...

EN RESUMEN: Por que pagina padre +pagina hija1 si funciona en totalidad, pero padre - hija2 no funciona?!!!

OTRO DETALLE: los formularios de pagina 1 no tienen name, no hay inputs submit solo buttons que llaman funciones ajax y todo va perfecto, pagina 2 la unica diferencia es que tiene un form con id y name, por lo tanto los elementos los he intentado llamar: document.getElementById("elementosubpagina2").valu e; y tambien: document.getElementById("formuariopagina20).elemen ts.item(n).value;
pero ninguna de las dos funcionan....

DISCULPEN SI NO PUSE CODIGO PERO COMO INTENTO USAR JAVASCRIPT NO OBSTRUSIVO POR ESO TENGO LAS CAPAS DE AJAX INDEPENDIENTES Y NO EN LOS HTML.....

AYUDA AGRADECERIA QUE APARECIERA UN SUPER GEEK Y ME DIERA SOUCION, PODRIA SER OTRA A LA QUE YO INTENTO PLANTEAR...

Última edición por deywibkiss; 05/06/2012 a las 15:39 Razón: faltaron los highlights de codigo
  #2 (permalink)  
Antiguo 05/06/2012, 15:50
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Subpaginas no ejecutan javascript ajax

es bien sabido que el usar AJAX no se procesa javascript automáticamente, consulte un manual de AJAX, debe separar los bloques script y ejecutarlos desde el onreadystatechange
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 05/06/2012, 18:40
 
Fecha de Ingreso: mayo-2011
Mensajes: 105
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Subpaginas no ejecutan javascript ajax

a que te refieres con separar el codigo javascript? y onready statechange? podrias darme un ejemplo
  #4 (permalink)  
Antiguo 05/06/2012, 21:19
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Subpaginas no ejecutan javascript ajax

Cita:
Iniciado por deywibkiss Ver Mensaje
a que te refieres con separar el codigo javascript? y onready statechange? podrias darme un ejemplo
Es claro que no conoce sobre AJAX ni de sus componentes, como el XmlHttpRequest, el evento onreadystatechange, ni el objetivo de la misma, y explicarlo por el foro a cada usuario que llegue no es viable teniendo en cuenta que se consigue dicha información en un manual de AJAX, favor informese sobre las herramientas que usa para sacarle el mayor provecho posible.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
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 14:09.