Foros del Web » Programando para Internet » Javascript »

no me cambia los valores d emi funcion de forma asincronica

Estas en el tema de no me cambia los valores d emi funcion de forma asincronica en el foro de Javascript en Foros del Web. Hola estoy intentando que me cambie los valores de las funciones js, y me muestre los datos en pantalla de forma asincronica, pero no lo ...
  #1 (permalink)  
Antiguo 10/10/2011, 11:46
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 4 meses
Puntos: 10
no me cambia los valores d emi funcion de forma asincronica

Hola estoy intentando que me cambie los valores de las funciones js, y me muestre los datos en pantalla de forma asincronica, pero no lo consigo, trata de una funcion que con el objeto httprequest me cambia de forma asincronica un archivo xml, este archivo me lo cambia cada vez que seleciono una opcion del select, hasta aqui bien, pero el problema biene cuando creo otra funcion para mostrar en pantalla los datos del archivo xml, osea que no me los cambia los valores, no me hace nada, muestro codigo por si alguien me quiere ayudar.

estas son las funciones que utilizo
funciones.js
Código Javascript:
Ver original
  1. var procesamiento, xml = null, contador=0;
  2. function MostrarRegistro() {
  3.  
  4.         try {
  5.                 document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('seccion')[contador].firstChild.nodeValue+'<p>';
  6.                 contador ++;
  7.         }
  8.         catch(e) {
  9.             contador=0;
  10.              document.getElementById("registro").innerHTML = '';
  11.                 contador ++;
  12.         }
  13.     }
  14.  
  15.  
  16. function MostrarNombres() {
  17.         var ajax = objetoAjax();
  18.         ajax.open('get','archivo.xml');
  19.         ajax.onreadystatechange = function() {
  20.                 if(ajax.readyState == 4){
  21.                     if(ajax.status == 200) {
  22.                            xml=ajax.responseXML;
  23.                             if(xml.getElementsByTagName('seccion').length > 0)
  24.                                         procesamiento = window.setInterval(MostrarRegistro, 1000);
  25.                                        
  26.                        }
  27.                 }
  28.         }
  29.         ajax.send(null);
  30. }
  31.      
  32.  
  33.        
  34. function objetoAjax(){
  35. if (window.XMLHttpRequest)
  36.  _ajax = new XMLHttpRequest();
  37.  else
  38.  if (window.ActiveXObject)
  39.  _ajax = new ActiveXObject("Microsoft.XMLHTTP");
  40.  else
  41.  _ajax = false;
  42.  return _ajax;
  43.  }
  44.  
  45. window.onload = MostrarNombres;
  46.  
  47.  
  48. function pedir(dato) {
  49.     var  Ajax = objetoAjax();
  50.                                                
  51.     Ajax.open("get","recuperar.php?seccion=" + dato, true);
  52.     Ajax.onreadystatechange = function() {
  53.       if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501)){
  54.            document.getElementById('recuperar').innerHTML=Ajax.responseText;
  55.            }
  56.       }
  57.     Ajax.send(null);
  58. }
este es el script principal donde tengo que mostrar los resultados de las funciones que cambian
dinamicamente de forma asincronica

mostrar.php
Código PHP:
Ver original
  1. <script type="text/javascript" language="javascript" src="funciones.js"></script>
  2. <form method="get">
  3. <select  name="seccion" id="seccion" onchange="pedir(document.getElementById('seccion').value)">
  4.   ....
  5. </select>
  6.  
  7.  
  8. <div id="recuperar">
  9. <?php
  10. //aqui creo el xml que cambia de forma asincronica segun la opcion del select que elijes arriba con la funcion pedir(dato)
  11. ?>
  12. </div>
  13.  
  14. <div id="registro"></div>

y en el script recuperar.php es donde recupero el xml actual segun la opcion que elijes
recuperar.php
Código PHP:
Ver original
  1. <?php
  2. //creo la conexion db y actualizo el xml segun la opcion del select con la funcion pedir()
  3. ?>

esto es todo simplemente lo que intento es que cuando elija una opcion en el select me muestre los datos de la funcion MostrarNombres, y si seleciono otra opcion me los cambie de forma asincronica, espero que alguien me pueda ayudar.
Saludos.

Última edición por azaz; 13/10/2011 a las 07:53

Etiquetas: funcion, html, js, php, formulario, cambios
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:13.