Esto es lo que he hecho...
Código Javascript
:
Ver originalfunction getXMLHTTP() {
var xmlhttp = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
return xmlhttp;
}
function anadirReg(str, id) {
xmlhttp = getXMLHTTP();
xmlhttp.onreadystatechange = buscarReg;
if (document.getElementById('ing').value.length == 0) {
alert("Por favor, debe añadir la gestión realizada");
document.getElementById('ing').focus();
return 0;
}
var gestion = new Date() + "/// " + document.getElementById('ing').value;
xmlhttp.open("POST","gestion_comercial.php?titular=" + str + '&gestion=' + gestion,true);
xmlhttp.send();
limpiarCampo('ing');
}
function buscarReg() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var xml = xmlhttp.responseXML.documentElement;
var gest = xml.getElementsByTagName('gestiones');
var textArea = document.getElementById('gest');
//textArea.value = "";
for (i = 0; i < gest.length; i++) {
var gestiones = gest[i].firstChild.data;
textArea.innerHTML += gestiones + "\n";
}
}
Que he logrado:
1- Ya me añade en el textarea la gestión.
Ahora solo me queda resolver algunos detalles, como:
1- En IE y Firefox siempre me añade la nueva gestión+las ya presentes en el textarea. O sea, está duplicando lo que hay en el textarea.
2- Me muestra la nueva gestión al final. Yo, mediante php le hice un 'ORDER BY <campo_fecha_ultima_actualizacion> DESC' y supongo que así mismo la "publica"
en XML el archivo php.
3- En IE me muesta el contenido en el textarea desordenado, en Firefox me muestra el contenido ordenado. Esto es, una línea para cada gestión.
Parte de mi archivo php y lo relacionado con la consulta y el XML, es lo siguiente...
Código PHP:
Ver original$result = mysql_query("SELECT EFID28 FROM titulares WHERE refer='$titular' ORDER BY timestamp_last_change DESC");
while ($row = mysql_fetch_array($result)) {
$valores[] = $row['EFID28'];
}
$xml .= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$xml .= "<informacion>\n";
for($x=0 ; $x<count($valores) ; $x++) { $xml .= "<gestiones>" . $valores[$x] . "</gestiones>\n";
}
$xml .= "</informacion>";
echo $xml;
?>
Según experiencia... ¿es mejor generar el contenido XML en un archivo aparte o directamente obtenerlo del archivo php?