Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/06/2012, 15:38
deywibkiss
 
Fecha de Ingreso: mayo-2011
Mensajes: 105
Antigüedad: 13 años
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