Spero di essere smentito :master: ma non credo che con ahah puoi fare quello che vuoi.
Guardando il codice originale, vedo che la funzione accetta, non una funzione di ritorno, ma una stringa (target).
La funzione richiama ahahDone che non fa altro che mettere dentro target, il testo restituito dal server:
document.getElementById(target).innerHTML = req.responseText;

Perciò, se puoi manipolare questa funzione, puoi fare per esempiospeudo codice)

se req.responseText = "errore nel login" allora
messaggio di errore
altrimenti
location.href = .... Redirezione
pensavo anch'io di fare una cosa del genere.

volevo una conferma

per la prima domanda sei tu che devi rispondere:
i parametri spediti hanno la forma:
variabile1=valore1&variabilen=valoren

non vedo la difficoltà
lo so che i parametri vengono mandati in quel modo.

Ma ripeto:
se stampo l'array post senza ahaha ho il risultato che voglio; nell'altro caso invece, viene si tolto l'input di tipo submit, ma all'inizio del nuovo array inserisce una coppia chiave valore di questo tipo [undefined] => undefined
non so se mi sono spiegato.

Grazie per il tuo intervento