Lo que quiero hacer es modificar dicha función handleRequest para que me permita ejecutar la función sendRequest() desde cualquier div de la página, que se llamarían div2, div3, etc, y recibir la respuesta en 'div2reciberespuesta', 'div3reciberespuesta', etc.
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es">
<head>
<title> quircksmode</title>
<script type="text/javascript">
<!--
function sendRequest(url,callback,postData) {
var req = createXMLHTTPObject();
if (!req) return;
var method = (postData) ? "POST" : "GET";
req.open(method,url,true);
req.setRequestHeader('User-Agent','XMLHTTP/1.0');
if (postData)
req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
req.onreadystatechange = function () {
if (req.readyState != 4) return;
if (req.status != 200 && req.status != 304) {
// alert('HTTP error ' + req.status);
return;
}
callback(req);
}
if (req.readyState == 4) return;
req.send(postData);
}
var XMLHttpFactories = [
function () {return new XMLHttpRequest()},
function () {return new ActiveXObject("Msxml2.XMLHTTP")},
function () {return new ActiveXObject("Msxml3.XMLHTTP")},
function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];
function createXMLHTTPObject() {
var xmlhttp = false;
for (var i=0;i<XMLHttpFactories.length;i++) {
try {
xmlhttp = XMLHttpFactories[i]();
}
catch (e) {
continue;
}
break;
}
return xmlhttp;
}
function handleRequest(req) {
var writeroot = document.getElementById('div1reciberespuesta');
writeroot.innerHTML = req.responseText;
}
//-->
</script>
</head>
<body>
<div id="div1" onclick='sendRequest("php.php?q=menu1",handleRequest)'>click here (funciona)</div>
<div id="div1reciberespuesta"></div>
....
<!-- el resto de la página estaría llena de divs como estos con sus correspondientes onclicks en div2, div3, etc-->
<div id="div2">click here</div>
<div id="div2reciberespuesta"></div>
<div id="div3">click here</div>
<div id="div3reciberespuesta"></div>
</body>
</html>
if (!e) var e = window.event;
elemento = (e.target) ? e.target.id : e.srcElement.id;
Pero me lío y no consigo aplicarlo en la práctica.
Gracias por adelantado.