• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Radio deaktiviert anderen Teil des Formulars?

Ind3X

Neues Mitglied
Hallo,

ich würde gerne mein Formular so einstellen, dass wenn man ein Radio-Button klickt, ein anderen Teil des Formulars deaktivert (so, dass man nichts eingeben kann) wird.

Zum Verständnis hab ich ein Bild angehängt.

Danke im Vorraus.
 

Anhänge

  • list.jpg
    list.jpg
    44,9 KB · Aufrufe: 9
Das kannst du mit Javascript machen.

Code:
function check() {
  var radio = document.getElementById('deinRadioButton');
  var select = document.getElementById('deinSelect');
  
  select.disabled = radio.selected;
}
 
Habe dass jetzt so umgeformt:

Code:
<script language="JavaScript">
<!-- 
function check() {
  var radio = document.getElementById('wlist');
  var select1 = document.getElementById('day');
  var select2 = document.getElementById('month');
  var select3 = document.getElementById('year');
  var select4 = document.getElementById('hour');
  var select5 = document.getElementById('min');
  
  select1.disabled = radio.selected;
  select2.disabled = radio.selected;
  select3.disabled = radio.selected;
  select4.disabled = radio.selected;
  select5.disabled = radio.selected;
}
// -->
</script>

Da, ich ja 5 selects auschalten möchte (die Datumsangabe).
Aber nichts davon funktioniert. Auch so wie es urspünglich da stand, ging es nicht.
 
Hast Du schon in die Fehlerkonsole geschaut, was für Fehler ausgegeben werden? Das ist bei JavaScript immer das erste, was man machen sollte, um Fehler zu finden.

Wenn Dein Code-Ausschnitt alles ist, wird allerdings nichts drin stehen, weil die Funktion ja nirgends aufgerufen wird.
 
Ich hab das so wie oben im Header stehen, und im Formular, beim Radio-Button:

Code:
onclick="check()"
, wie mach ich das mit der Fehlerkonsole? Hab nie wirklich viel gearbeitet mit JS.
 
Dann wird Deine Funktion entweder nicht aufgerufen oder sie erzeugt keine Fehler.

In so einem Falle lasse ich mir die Werte für die verschiedenen Variablen per alert() ausgeben, bis ich irgendwas komisches bemerke.

Ich merk noch was:
Es gibt bei radio-Buttons (wenn Dein Object "radio" auf ein solches zeigen sollte) kein "selected", sondern nur ein "checked". Wenn dieser Code-Schnipsel aufgerufen wird, sollte aber etwas in der Fehlerkonsole stehen.
 
Das "selected" gegen "checked" austauschen kann ich erst zuhause, habe meine Logins nicht dabei. Werde mich so gegen 16-17 Uhr wieder mit dem Ergebnis melden.
 
OK, das funktioniert nun, (man musste es tatsächlich auf "checked" wechseln) doch nun stehe ich vor einem weiteren Problem:

"wlist" ist einer von drei Radio-Buttons, ich möchte aber, dass die anderen, falls vorher versehentlich "wlist" gedrück wurde, das select unten wieder aktivieren.

Habe mir mal versucht meine eigenen Gedanken zu machen, und dabei ist folgendes heraus gekommen:

Code:
function check2() {
  var select1 = document.getElementById('day');
  var select2 = document.getElementById('month');
  var select3 = document.getElementById('year');
  var select4 = document.getElementById('hour');
  var select5 = document.getElementById('min');
  
  select1.enabled = select1.disabled;
  select2.enabled = select2.disabled;
  select3.enabled = select3.disabled;
  select4.enabled = select4.disabled;
  select5.enabled = select5.disabled;
}

Funktioniert so aber leider nicht, ich habe die beiden anderne Radio-Buttons mit einem onklick="check2()" ausgestattet, aber es geschieht nichts.

Wo ist mein Denkfehler? >.<

mfg Ind3X
 
Jo, habs heute morgen selbst rausbekommen durch probieren:

Code:
function check2() {
  var select1 = document.getElementById('day');
  var select2 = document.getElementById('month');
  var select3 = document.getElementById('year');
  var select4 = document.getElementById('hour');
  var select5 = document.getElementById('min');

  select1.disabled = false;
  select2.disabled = false;
  select3.disabled = false;
  select4.disabled = false;
  select5.disabled = false;
}

Thx an alle, es funktioniert nu alles =D
 
Nächstes Mal die JavaScript-Frage im JavaScript-Forum stellen ;-)

Sonnige Grüße,
-Efchen
 
Zurück
Oben