dazu müsstest du aber die Checkbox als Formular sehen, das an den PHP Parser senden, die Seite wieder neu aufrufen und das Eingabe Feld wieder zur Verfügung stellen.
Was du benötigst ist wohl eine JavaScript-Lösung …
Ich kann jedem der nicht gerne mit Javascrript schreibt Xajax empfehlen , da wird PHP gefordert auch wenn natürlich die eigentlichen Aktionen im Hintergrund per Javascript laufen, mit denen man aber nichts zu tun hat.
Ist eigentlich eine ganz simple JavaScript-Lösung mit gerade mal zwei Codezeilen… Allerdings setzt diese ein vernünftiges XHTML voraus. So sollte z.B. ein checked korrekterweise so notiert sein:
<input type="checkbox" onclick="switch('element')" checked="checked" />
<input type="text" disabled="disabled" id="element" />
Eventuell wäre sogar ein “onchange” als Event-Handler die bessere Lösung…
Für ein komplettes Beispiel hab’ ich gerade keine Zeit… nur kurz:
Das JS in Aktion kannst Du hier ansehen:
-> i-de.biz/aipc/assist.html (“Expertenoptionen anzeigen” lassen (dabei kommt dieselbe Lösung für das komplette Feld zur Anwendung), dann z.B. bei “Prozessor” am Häkchen spielen…)
Das JS dazu: i-de.biz/scripts/assist.js
Duchlesen und lernen
Wichtig dabei ist, bei der ersten Anzeige der Seite die Elemente zu “initialisieren”, also mit Standardwerten zu versehen.
So, jetzt habe ich auch etwas mehr Zeit zum “scribbeln”:
function toggle(remote,what) {
if (document.getElementById(remote).checked) {document.getElementById(what).disabled=false;}
else {document.getElementById(what).disabled=true;}
}Das ist eigentlich schon alles, was an JS gebraucht wird.
Im HTML-Teil notierst Du den Event-Handler und übergibst das Element, das gesteuert werden soll:
Das war alles.
beim Klick wird die Funktion zum “Umschalten” aufgerufen - mit zwei Argumenten: einmal das Element, das die Anzeige “steuern” soll (also die Checkbox) mittels “this” (wichtig: ohne Anführungszeichen notieren!), zum Zweiten die ID des Elementes, das dis/enabled werden soll.
Die Funktion selber prüft, ob das “Steuerelement” “angehakt” ist (= Textfeld enabled) oder nicht ( = Textfeld disabled).
Mehr ist nicht nötig - ausser, wie oben bereits geschrieben, die Initialisierung bei Erstaufruf der Seite.
User ohne (aktiviertes) JS können das Formular so auch verwenden, da nicht per default disabled wird