allora i dati della form:
codice:
<form name = "nome" id = "MyForm" method="post" action = "NomeServlet">
nome: <input type = "text" name = "nome" />
</p>
cognome: <input type = "text" name = "cognome" />
</p>
<input type = "submit" value = "GO!!!" />
</p>
</form>
Per intercettare il submit ed inviare al posto della richiesta normale una Ajax fai:
codice:
function Init(){
$('MyForm').observe("submit", function(e){
Event.stop(e); //Blocchi l'esecuzione del submit
var elems = this.serialize(true); //Ottieni un oggetto con i dati della form {"nome" : "pippo", "cognome" : "de pippis"}
//Qui ti faccio usare l'Ajax.Updater che funziona come il response, con la differenza che prende come secondo parametro l'id dell'elemento da aggiornare con la risposta dal server
new Ajax.Updater("Content", this.action, {
method: this.method, //Uso il metodo della form
parameters : elems //Gli passo come parametri i valori estratti dalla form
});
})
}
Event.observe(window, 'load', Init);
Questo è sufficiente per implementare l'invio in POST dei dati tramite AJAX alla servlet e ad aggiornare il div#Content con la risposta dal server.
Consiglio: quando sviluppi tieni sempre aperto http://api.prototypejs.org/