Alternativ wäre auch eine Option möglich ohne die Seite neu laden zu müssen, aber ich denke, dieses wird etwas schwerer in der Umsetzung sein?
Ganz im Gegenteil, mit ajax wird das alles viel einfacher als mit einem schnöden submit. Für den Benutzer ist es allerdings schwer verständlich, wenn irgendwann die Daten automatisch gesendet werden. Vielmehr sollte der Benutzer genau sehen, was er tut und das was damit passiert.
Ich würde das so machen: Das Formular wird angefordert, ggf. sind Einträge vorselektiert und andere Daten bereits vorhanden. Bis hierhin ist das Sache von PHP, also eine Templategeschichte serverseitig.
Wenn nun der Benutzer was ändert oder andere Auswahlen trifft, wird dies, ohne dass die Seite neu geladen wird, dem Benutzer kenntlich gemacht. Das ist Sache von JS, ohne dass der Server gefragt werden muss, geht das alles clientseitig (Vergleich gesendeter Daten mit Benutzereingaben).
Schließlich kommt der große Moment, wo das gesendet werden soll. Der Benutzer klickt einen dafür bestimmten Button, eine Sanduhr (Throbber) wird sichtbar gemacht und die Seite wird abgeblendet. Für die Response wird mit den Benutzereingaben serverseitig eine neue Checksumme berechnet und per Callbackfunktion ins Formular gerendert. Danach verschwindet die Throbbergrafik und die Daten im Frmular sind mit den Daten aufm Server synchron.
Ein Reload würde das Formular dann genauso zeigen wie bis hierher.
--Dag