Aber wie mach ich das wenn auf einer Seite 20 Button sind.
Tendenziell dadurch, daß Du Dir irgendwo merkst, welcher Schalter gerade welche Stellung einnimmt, und den entsprechenden Teil des HTML-Dokuments jeweils komplett neu generierst.
Ich habe auf meiner Homepage unter http://www.homepage.de/home/schroepl/pbm/amtsblat/triumph/formular.htm etwas, das Deiner Anforderung relativ ähnlich ist (aber eine viel kompliziertere Anwendung realisiert, im wesentlichen einen sehr anwendungsspezifischen "Taschenrechner").
Sag dort mal "Partie starten" und übernimm dann die ganzen im Dialog angebotenen Defaultwerte - es ist im Moment nicht wichtig, was die bedeuten. Danach bist Du "in der Partie drin". Das merkt sich das Formular in einer lokalen Variablen (und in einem Cookie - den zu setzen müßtest Du ihm erlauben).
Wenn Du jetzt auf den Knopf "Zug ausführen" klickst, dann ändert sich u. a. der Wert dieser lokalen Variablen - und in Abhängigkeit von diesem Wert wird das gesamte Formular völlig neu generiert (Javascript). Dort, wo vorher Eingabefelder waren, sind nun z. B. nur noch normale Tabellenfelder, es gibt andere Buttons als vorher ("Zug zurücknehmen" usw.). Ich "male" einfach alles neu, und meine Funktionen fragen dabei ab, was sie gerade tun sollen - das wiederum hängt davon ab, ob der Benutzer "vor" oder "nach" der "Ausführung" des Zuges war, und das habe ich mir u. a. in dem Cookie gemerkt, den meine Funktionen vor jeder Ausgabe wieder neu lesen und zerhacken.
Der größe Teil des Quelltextes ist in eine separate Datei "formular.js" im selben Verzeichnis ausgelagert - viel Spaß beim Lesen ... die für Dich interessanten Funktionen sind etwa die letzten fünf der Datei, die ganze Rechnerei vorher ist zu spezifisch für meine Anwendung.