Beh potresti altrimenti fare un form in fondo con degli input hidden contenenti come value i campi da trasportare e il pulsante submit.
Così invierà alla pagina di destinazione (quella nell'action) tutti i valori desiderati. Dopo ti baserà con i vari $_REQUEST['nomeCampoHidden'] e il gioco è fatto. Così riuscirai a conciliare sia l'onchange che il submit finale.
Addirittura puoi impostare il tutto affinché il pulsante submit finale sarà visibile solo alla fine, quando inserirai TUTTI i dati da inviare (fai un piccolo controllo IF con all'interno il form sopra descritto che controlla se tutti gli input sono stati compilati.)