Hola hos cuento un poco, trata de una consulta php que realizo de forma asincronica, con esta consulta creo un archivo xml, con el que quiero trabajar con el dom de js, osea que quiero mostrar los resultados del xml en pantalla, segun la opcion que elija en el select, pero no me muestra los resultados pero el xml si me lo realiza y me lo cambia segun la opcion pero yo quiero que me muestre esos resultados en pantalla y los cambie sin recargar la pagina osea de forma asincronica.
Hos dejo codigo por si alguien me quiere ayudar.
Aqui tengo las funciones js que utilizo para mostrar datos de forma asincronica
funciones js
Código Javascript
:
Ver originalvar procesamiento, xml = null, contador=0;
function MostrarRegistro() {
try {
document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('nombre')[contador].firstChild.nodeValue+'</p>';
contador ++;
}
catch(e) {
document.getElementById("registro").innerHTML = '';
contador = 0;
}
}
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('nombre').length > 0)
procesamiento = window.setInterval(MostrarRegistro, 4000);
}
}
}
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) {
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_datos').innerHTML=Ajax.responseText;
}
}
Ajax.send(null);
}
aqui es el script donde tengo el select y el div para mostrar los datos
mostrar_datos.php
Código PHP:
Ver original<head>
<script type="text/javascript" language="javascript" src="funciones.js"></script>
</head>
<body>
<form method="get">
<select name="seccion" id="seccion" onchange="pedir(document.getElementById('seccion').value)">
...
</select>
</form>
<div id="recuperar_datos">
<?php
$consulta="select * from nombres where seccion='".$_GET['seccion']."'";
?>
</div>
<?php
//aqui creo el xml dependiendo de la consulta que me cambia dinamicamente
?>
<div id="registro"></div>
este script es donde recupero los datos de forma asincronica
recuperar.php
Código PHP:
Ver original<?php
//creo la conexion y creo la consulta que debe cambiar
$consulta="select * from nombres where seccion='".$_GET['seccion']."'";
?>
Realmente lo que quiero es que cuando selecione una opcion me cambie los datos en pantalla, osea que si pongo un submit en el select me los cambia pero esto no quiero ya que no quiero recargar la pagina.
Saludos.