quello che vuoi usare è XMLHttpRequest(). Una volta inscatolata in una funzione cross-browser come questa (rubata non ricordo dove, probabilmente da Dustin Diaz)
Codice PHP:
function createXMLHttpRequest() {
req = false;
// branch for native XMLHttpRequest object
if(window.XMLHttpRequest) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}
return req;
}
puoi usarla per richiamare una tua pagina che restituisca il nuovo contenuto del div
Codice PHP:
function nuovoContenuto(elemento, pagina, parametri) {
var req = createXMLHttpRequest();
if (!req) return true;
req.open('GET', 'http://' + pagina +'?' + parametri, true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
if (req.responseText != '') {
elemento.disabled = true;
elemento.innerHTML = req.responseText;
}
} else {
alert('Ellole!');
}
}
}
fill.disabled = true;
req.send(null);
return false;
}
la richiesta è asincrona (da cui la A di AJAX), quindi la crei, la lanci, e come parametro gli lasci una funzione da eseguire quando termina, e non da errore. Questa contiene elemento.innerHTML = ... che prende il testo ricevuto con la chiamata e lo sostituisce al contenuto corrente dell'elemento, nel tuo caso del div.
Ah, il div lo recuperi con document.getElementById('id-del-div').