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 originalvar procesamiento, xml = null, contador=0;
function MostrarRegistro() {
try {
document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('seccion')[contador].firstChild.nodeValue+'<p>';
contador ++;
}
catch(e) {
contador=0;
document.getElementById("registro").innerHTML = '';
contador ++;
}
}
function MostrarNombres() {
var ajax = objetoAjax();
ajax.open('get','archivo.xml');
ajax.onreadystatechange = function() {
if(ajax.readyState == 4){
if(ajax.status == 200) {
xml=ajax.responseXML;
if(xml.getElementsByTagName('seccion').length > 0)
procesamiento = window.setInterval(MostrarRegistro, 1000);
}
}
}
ajax.send(null);
}
function objetoAjax(){
if (window.XMLHttpRequest)
_ajax = new XMLHttpRequest();
else
if (window.ActiveXObject)
_ajax = new ActiveXObject("Microsoft.XMLHTTP");
else
_ajax = false;
return _ajax;
}
window.onload = MostrarNombres;
function pedir(dato) {
var Ajax = objetoAjax();
Ajax.open("get","recuperar.php?seccion=" + dato, true);
Ajax.onreadystatechange = function() {
if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501)){
document.getElementById('recuperar').innerHTML=Ajax.responseText;
}
}
Ajax.send(null);
}
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<script type="text/javascript" language="javascript" src="funciones.js"></script>
<form method="get">
<select name="seccion" id="seccion" onchange="pedir(document.getElementById('seccion').value)">
....
</select>
<div id="recuperar">
<?php
//aqui creo el xml que cambia de forma asincronica segun la opcion del select que elijes arriba con la funcion pedir(dato)
?>
</div>
<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<?php
//creo la conexion db y actualizo el xml segun la opcion del select con la funcion pedir()
?>
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.