BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Javascript: Textflder durch klick wieder aktivieren (http://www.black-board.net/thread.php?threadid=23454)


Geschrieben von Flux am 14.08.2008 um 11:32:

  Javascript: Textflder durch klick wieder aktivieren

hi,

ich erstelle gerade eine Form in der man durch klick auf eine Checkbox darunter liegende Radiobuttons deaktivieren kann. Soweit so gut. Nur weiss ich nicht, wie ich durch erneutes klicken (Häckchen entfernen) die Checkboxen wieder reaktivieren kann.

Hier der Code

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
<form action="">
deaktivieren <input type="checkbox" name="checkbox" id="checkbox" onclick="this.form.box1.disabled = true;this.form.box2.disabled = true;this.form.box3.disabled = true;"/>
 <br />
 <br />
  box1
  <input type="radio" name="box1" id="box1" value="1" />
  <br />
  box2
  <input type="radio" name="box2" id="box2" value="2" />
  <br />
  box3
  <input type="radio" name="box3" id="box3" value="3" />
</form>


kann mir da jemand weiterhelfen?

mfg



Geschrieben von Misel am 14.08.2008 um 13:15:

 

Bei Radio-Buttons muss das "name"-Attribut für die Gruppe identisch sein, ansonsten kannst Du gleich Checkboxen nehmen.

Wenn Du Radio-Buttons deaktivieren willst, solltest Du noch mal Dein Datendesign überdenken. Ansonsten würde ich noch ein zusätzliches Radio-Buttons mit dem Wert "nichts" o.ä. hinzufügen.



Geschrieben von Flux am 14.08.2008 um 13:56:

 

Zitat:
Original von Misel
Bei Radio-Buttons muss das "name"-Attribut für die Gruppe identisch sein, ansonsten kannst Du gleich Checkboxen nehmen.

Wenn Du Radio-Buttons deaktivieren willst, solltest Du noch mal Dein Datendesign überdenken. Ansonsten würde ich noch ein zusätzliches Radio-Buttons mit dem Wert "nichts" o.ä. hinzufügen.
$

ist mir klar danke, das beispiel oben dient nur zur veranschaulichung um darzustellen was ich meine, ist nur ein beispiel, dass ich eben erstellt habe. das "reaktivieren" der checkboxen ist das einzige problem.



Geschrieben von LX am 14.08.2008 um 14:57:

 

Zitat:
Original von Misel
Wenn Du Radio-Buttons deaktivieren willst, solltest Du noch mal Dein Datendesign überdenken. Ansonsten würde ich noch ein zusätzliches Radio-Buttons mit dem Wert "nichts" o.ä. hinzufügen.
Das kann schon durchaus sinnvoll sein, wenn mehrere Formularfelder Abhängigkeiten voneinander haben. Z.B.:

1. Welche Farbe findest du toll?
[ ] Rot
[ ] Gelb

2. Eher helles oder eher dunkles Rot?
( ) hell
( ) dunkel

Die Radiobuttons braucht man ja nicht anzeigen, wenn man "Gelb" oder gar nix angekreuzt hat. Da nochmal extra einen Radiobutton "trifft nicht zu" einzubauen wäre zwar möglich, ist aber für den Benutzer nicht unbedingt besser auszufüllen.


Zum Problem:
code:
1:
2:
<input type="checkbox" name="checkbox" id="checkbox"
    onclick="this.form.box1.disabled = this.checked;this.form.box2.disabled = this.checked;this.form.box3.disabled = this.checked;"/>



Geschrieben von Flux am 15.08.2008 um 09:08:

 

ok ich muss effektiv das ganze neu aufbauen:

ich erkläre mal anhand eines beispiels:

in einer Form befinden sich 5 Textfelder und 5 Radiobuttons.

beim aufrufen der seite sind je nach einträgen in einer db entweder alle 10 enabled oder disabled.

oben hat es eine checkbox "Felder aktiviert [ ]". Durch klick in diese Checkbox werden entweder alle deaktivierten felder aktiv oder umgekehrt.

habe nun einiges probiert und gesucht, aber ich komm einfach nicht zur Lösung.

mfg



Geschrieben von Zyrus am 15.08.2008 um 16:06:

 

Hallo,

ich bin nicht so der JavaScript-Spezi, aber wenn ich so an VisualBasic .NET denke, müsste man das Enable wieder explizit setzen, aus euren Codes erkenne ich immer nur das "disable" und kein "enable", vllt. täusche ich mich da ja nun auch, oder ich hab den Thread nicht richtig kapiert cool cool

Aber ich denke das Enable und Disable setzen mit this.checked ist bei VisualBasic ebenso wie bei JavaScript..

Greetz

Zyrus


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH