di solito seguo questo metodo

form normale. il pulsante di submit sarà di questo tipo

<button type=\"submit\" onclick=\"var postStr=createPostString(); return caricaTesto('pagina_da_richiamare','id_del_div_da_ aggiornare','post',postStr);\" onkeypress=\"return this.onclick();\">

caricaTesto è la funzione ajax classica.
Queste sono le altre due funzioni js utilizzate

function prendiElementoDaId(id_elemento) {
var elemento;
if(document.getElementById)
elemento = document.getElementById(id_elemento);
else
elemento = document.all[id_elemento];
return elemento;
};
function createPostString() {
var variabile = escape(prendiElementoDaId("text").value);

var poststr = "variabile =" + variabile;

return poststr
}

In questo modo la pagina richiamata da Ajax ha a disposizione le variabili post come se avesse ricevuto il submit normale