jk296: Formularelemente ausgrauen/Auswahlprüfung

Hallo,

habe diesen Quelltext: (RB = Radio-Button, CB = Checkbox)

<form action="">
<table>
<thead>
<tr>
<th><input type="radio" name="NameRB" id="RB1" />Text</th>
<th><input type="radio" name="NameRB" id="RB2" />Text</th>
<th><input type="radio" name="NameRB" id="RB3" />Text</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="RB1" id="CB1" />Text</td>
<td><input type="checkbox" name="RB2" id="CB2" />Text</td>
<td><input type="radio" name="RB3" id="rb8" />Text <input type="radio" name="RB3" id="rb9" />Text</td>
</tr>
<tr>
<td><input type="checkbox" name="RB1" id="CB3" />Text</td>
<td><input type="checkbox" name="RB2" id="CB4" />Text</td>
<td><input type="checkbox" name="RB3" id="CB5" />Text</td>
</tr>
<tr>
<td><input type="checkbox" name="RB1" id="CB6" />Text</td>
<td><input type="checkbox" name="RB2" id="CB7" />Text</td>
<td><input type="checkbox" name="RB2" id="CB8" />Text</td>
</tr>
<tr>
<td><input type="radio" name="RB1" id="rb4" />Text<input type="radio" name="RB1" id="rb5" />Text</td>
<td><input type="checkbox" name="RB2" id="CB9" />Text</td>
<td><input type="checkbox" name="RB3" id="CB10" />Text</td>
</tr>
<tr>
<td><input type="checkbox" name="RB1" id="CB11" />Text</td>
<td><input type="checkbox" name="RB2" id="CB12" />Text</td>
<td><input type="checkbox" name="RB3" id="CB13" />Text</td>
</tr>
<tr>
<td><input type="checkbox" name="RB1" id="CB14" />Text</td>
<td><input type="radio" name="RB2" id="rb6" />Text<input type="radio" name="RB2" id="rb7" />Text</td>
<td><input type="checkbox" name="RB3" id="CB15" />Text</td>
</tr>
</tbody>
</table>
</form>

Das soll geschehen:

Wenn noch auf keinen Radio-Button geklickt worden ist, dann sind alle Elemente ausgegraut!

Bei Klick auf Radio-Button mit id="RB1": Radio-Buttons mit id="rb6", id="rb7", id="rb8" und id="rb9" ausgrauen!
Bei Klick auf Radio-Button mit id="RB2": alle Elemente mit name="RB1" sowie Radio-Buttons mit id="rb8" und id="rb9" ausgrauen!
Bei Klick auf Radio-Button mit id="RB3": alle Elemente mit name="RB1" und name="RB2" ausgrauen!

Beim Radio-Button mit id="RB1" sollen von den freigeschalteten Elementen mind. drei, beim Radio-Button mit id="RB2" mind. vier und beim Radio-Button mit id="RB3" mind. fünf Elemente ausgewählt worden sein!

Bin für jede Hilfe dankbar.

Gruß.

  1. Hallo,

    Wenn noch auf keinen Radio-Button geklickt worden ist, dann sind alle Elemente ausgegraut!

    Ohne auf die ganze Problematik einzugehen.
    Du willst also beim laden alle elemente ausgrauen bzw. deaktivieren?
    Wie soll man dann einen Klick darauf machen können?

    Gruss
    hawk

    1. Hallo,

      Wenn noch auf keinen Radio-Button geklickt worden ist, dann sind alle Elemente ausgegraut!

      Ohne auf die ganze Problematik einzugehen.
      Du willst also beim laden alle elemente ausgrauen bzw. deaktivieren?
      Wie soll man dann einen Klick darauf machen können?

      Gruss
      hawk

      Ok, habe mich ungenau ausgedrückt. Die drei „Haupt“-Radio-Buttons (id="RB1", id="RB1", id="RB1") sollen im Voraus natürlich nicht ausgegraut sein.

      1. Meinte id="RB1", id="RB2" und id="RB3"!

  2. Mahlzeit,

    Wenn noch auf keinen Radio-Button geklickt worden ist, dann sind alle Elemente ausgegraut!

    Das heißt, dass alle <input>-Elemente "disabled" sein sollen? Dann lege das doch entsprechend fest - sinnvollerweise allerdings mit Javascript (über die Eigenschaft "http://de.selfhtml.org/javascript/objekte/elements.htm#disabled@title=disabled"), denn wenn ein Benutzer Javascript nicht aktiviert hat, kann er das Formular sonst nicht benutzen.

    Bei Klick auf Radio-Button mit id="RB1": Radio-Buttons mit id="rb6", id="rb7", id="rb8" und id="rb9" ausgrauen!

    Moment! Du hast gerade oben geschrieben, dass ALLE Element ausgegraut sein sollen. Wie soll da jemand auf einen Radio-Button klicken können? Also gut - klicken kann er natürlich ... aber normalerweise passiert eben genau nichts, wenn man auf ein Element klickt, das nicht aktiv ist.

    Vielleicht solltest Du Deine Prämissen nochmals überdenken und ggf. anpassen.

    Ansonsten kann dir der Event "http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onclick@title=onclick" in Kombination mit der o.g. Eigenschaft "disabled" helfen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Das heißt, dass alle <input>-Elemente "disabled" sein sollen?

      Bis auf die Radio-Buttons mit id="RB1", id="RB2" und id="RB3" (im Voraus).

      Vielleicht solltest Du Deine Prämissen nochmals überdenken und ggf. anpassen.

      Bei Klick auf Radio-Button mit id="RB1": Radio-Buttons mit id="rb6", id="rb7", id="rb8" und id="rb9" ausgrauen! *
      Bei Klick auf Radio-Button mit id="RB2": alle Elemente mit name="RB1" sowie Radio-Buttons mit id="rb8" und id="rb9" ausgrauen! *
      Bei Klick auf Radio-Button mit id="RB3": alle Elemente mit name="RB1" und name="RB2" ausgrauen! *

      *: Alle anderen Elemente sollen dann natürlich nicht ausgegraut sein!

      1. Mahlzeit,

        Bei Klick auf Radio-Button mit id="RB1": Radio-Buttons mit id="rb6", id="rb7", id="rb8" und id="rb9" ausgrauen! *
        Bei Klick auf Radio-Button mit id="RB2": alle Elemente mit name="RB1" sowie Radio-Buttons mit id="rb8" und id="rb9" ausgrauen! *
        Bei Klick auf Radio-Button mit id="RB3": alle Elemente mit name="RB1" und name="RB2" ausgrauen! *

        Prima - dann brauchst Du diese Anweisungen ja nur noch in Javascript umzusetzen ... dabei helfen könnten Dir die von mir genannten Links sowie die Funktionen http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id@title=getElementById() sowie http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name@title=getElementsByName().

        *: Alle anderen Elemente sollen dann natürlich nicht ausgegraut sein!

        Natürlich.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Mahlzeit,

          Bei Klick auf Radio-Button mit id="RB1": Radio-Buttons mit id="rb6", id="rb7", id="rb8" und id="rb9" ausgrauen! *
          Bei Klick auf Radio-Button mit id="RB2": alle Elemente mit name="RB1" sowie Radio-Buttons mit id="rb8" und id="rb9" ausgrauen! *
          Bei Klick auf Radio-Button mit id="RB3": alle Elemente mit name="RB1" und name="RB2" ausgrauen! *

          Prima - dann brauchst Du diese Anweisungen ja nur noch in Javascript umzusetzen ... dabei helfen könnten Dir die von mir genannten Links sowie die Funktionen http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id@title=getElementById() sowie http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name@title=getElementsByName().

          *: Alle anderen Elemente sollen dann natürlich nicht ausgegraut sein!

          Natürlich.

          MfG,
          EKKi

          Bräuchte nen Quelltext, da ich mit der ganzen Syntax von JS nicht sonderlich vertraut bin.

          1. Insbesondere zur Auswahlprüfung.

          2. Mahlzeit,

            Bräuchte nen Quelltext, da ich mit der ganzen Syntax von JS nicht sonderlich vertraut bin.

            Bräuchte mehr Geld, da ich mit den ganzen Lebenshaltungskosten sonst nicht so zu Rande komme, wenn ich anstatt zu arbeiten hier für Dich was skripte.

            Im Übrigen trägt dieses Forum (und das ganze Projekt) das Wörtchen "SELF" im Namen. Die von mir genannten Links haben alle ausführliche Erklärungen, wie man die jeweiligen Eigenschaften und Funktionen benutzt - bei fast allen sind auch Beispiele dabei. Wenn Du konkrete Fragen zu der Benutzung einzelner Befehle hast oder wenn bei Dir Fehler auftreten, wirst Du hier im Regelfall immer Hilfe bekommen (wenn Du Dein Anliegen ausführlich schilderst bzw. konkrete Fehlermeldungen weitergibst).

            Wenn es an den Grundlagen mangelt, solltest Du vielleicht http://de.selfhtml.org/javascript/intro.htm@title=hier anfangen zu lesen.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|