tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
450
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Feely Feely ist offline Mitglied Silber
    Registriert seit
    Apr 2002
    Ort
    NRW
    Beiträge
    57
    Tach ! =)

    Folgender Sachverhalt:

    Ich habe ein Formular für eine Benutzer-Rechte-Verwaltung mit einigen Checkboxen die die jeweleige Berechtigung steuern sollen. Im Aufbau sieht das ganze in etwa so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    <input type="checkbox" name="recht[]" id="kunde" value="kd_insert">
    <input type="checkbox" name="recht[]" id="kunde" value="kd_edit">
    <input type="checkbox" name="recht[]" id="kunde" value="kd_delete">
    ...
    <input type="checkbox" name="recht[]" id="drucker" value="drucker_insert">
    <input type="checkbox" name="recht[]" id="drucker" value="drucker_edit">
    <input type="checkbox" name="recht[]" id="drucker" value="drucker_delete">

    Wie man sieht ist das Formular quasi in verschiedene "Rubriken" unterteilt. Ich will es nicht zerpflücken da am Ende ein großes Array rauskommt das alle gesetzten Rechte des Benutzers beinhaltet.

    Problem:

    Ich möchte über jede Rubrik einen Button / Link / Grafik (whatever) setzen mit dem ich alle Checkboxen einer "Rubrik" aktivieren kann. Ich hab bereits verschiedene Javascripte durchprobiert aber das einzige was ich erreicht habe ist, dass sich mit einem Klick alle
    Checkboxen aktivieren. So wie ich das sehe richten sich diese Scripte immer nach den Namen der Formular-Elemente..aber nicht nach den ID's.

    Ich bin leider nicht sehr Bewand in Sachen Javascript und die Stunde die ich bis jetzt daran getüftelt habe hat mir halt nicht wirklich geholfen. Wenn also jemand einen guten Denkansatz bzw. eine konkrete Lösung für mich hätte...

    Gruß Feely
     
    mo0h =X

  2. #2
    Brickart Brickart ist offline Grünschnabel
    Registriert seit
    Dec 2006
    Beiträge
    3
    Klarer Fehler: Eine ID ist immer eindeutig und darf im Dokument dementsprechend auch nur einmal auftauchen! Das macht das Problem leider nicht gerade einfacher...

    Ich würde vorschlagen, Du baust einen DIV-Bereich mit der entsprechenden ID für jede einzelnen Kategorie:
    Code :
    1
    2
    3
    4
    5
    
    <div id="kunde">
     <input type="checkbox" name="recht[]" value="kd_insert">
     <input type="checkbox" name="recht[]" value="kd_edit">
     <input type="checkbox" name="recht[]" value="kd_delete">
    </div>

    und baust folgende JS - Funktion:

    Code :
    1
    2
    3
    4
    5
    6
    
    function Aktiviere(RubrikID)
    {
     var kids = document.getElementsByName('recht[]');
     for (var i=0; i < kids.length; i++) if (kids[i].parent.id == RubrikID)
      kids[i].selected = "selected";
    }

    Alles ohne Gewähr, da nicht ausprobiert...
     

  3. #3
    Feely Feely ist offline Mitglied Silber
    Registriert seit
    Apr 2002
    Ort
    NRW
    Beiträge
    57
    Ok das mit der ID seh ich ein Es war halt nur Testweise. Zu deinem Vorschlag...Gesagt getan und leider nicht funktioniert. Ich habs testweise in eine normale HTML Seite gesteckt..ohne mein PHP Gedöns..

    Das ganze zieht so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    <script language="javascript">
    function aktiviere(RubrikID) {
     var kids = document.getElementsByName('recht[]');
     for (var i=0; i < kids.length; i++) if (kids[i].parent.id == RubrikID)
       kids[i].selected = "selected";
    }
    </script>
     
    <a href="javascript:aktiviere('kunde')">Check</a>
     
    <form name="test" action="gibts_nicht" method="post">
     
    <div id="kunde">
    <input type="checkbox" name="recht[]" value="kunde_show" />
    <input type="checkbox" name="recht[]" value="kunde_delete" />
    </div>
     
    <div id="drucker">
    <input type="checkbox" name="recht[]" value="drucker_edit" />
    </div>
     
    </form>

    Ich bin mir allerdings auch nicht sicher ob ich deine Funktion überhaupt richtig aufrufe
     
    mo0h =X

Ähnliche Themen

  1. Probleme beim Abschicken eines Formulares im IE
    Von port29 im Forum Javascript & Ajax
    Antworten: 9
    Letzter Beitrag: 16.10.08, 10:01
  2. Antworten: 5
    Letzter Beitrag: 09.01.07, 09:34
  3. TExt anstatt Button fürs absenden eines Formulares
    Von xtratz im Forum HTML & XHTML
    Antworten: 4
    Letzter Beitrag: 28.07.05, 16:42
  4. Antworten: 10
    Letzter Beitrag: 23.08.04, 16:23
  5. Alle Checkboxen Aktivieren/de-aktivieren
    Von A5 Infoschlampe im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 03.02.02, 20:01