Ergebnis 1 bis 7 von 7

Thema: alle ckeckboxen

  1. #1
    pc
    Gast

    Standard alle ckeckboxen

    Ich habe eine JavaScript Funktion die mit dem Anclicken einer Checkbox alle anderen auch anklicken soll. Wie in vielen Mailsystemen.
    Wenn ich die Checkbox "Alle" anklicke bekomme ich aber den Fehler 'document.forms.form2.produkt' ist Null oder kein Objekt. Was mache ich falsch?

    Danke.


    Code:
    function alle_checkboxen(formname, checkname, thestate) {
       var el_collection = eval("document.forms."+formname+"."+checkname);
       for &#40;c = 0; c < el_collection.length; c++&#41;
          el_collection&#91;c&#93;.checked = thestate;
    &#125;
    
    <form name='form2' action='index.php' method='post'>
       <input type='checkbox' name='alle' onClick=\"alle_checkboxen&#40;'form2', 'produkt', true&#41;\"> Alle
    
       <input type='checkbox' name='produkt' value='1'> Produkt1
    
       <input type='checkbox' name='produkt' value='2'> Produkt2
    
    </form>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Meister(in)
    Registriert seit
    10.05.2004
    Beiträge
    374
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    1. Was bedeuten die "\" nach dem onClick??? Die brauch man doch gar net, oder?!
    2. Du hast ja den namen "Produkt" öfter vergeben... Da wird er bei der Zuweisung des "true"-Wertes seine Schwierigkeiten haben...
    3. Müsste das true nicht auch in ' ??? sonst übergibst du doch eine Variable...
    4. Du kannst auf die einzelnen Felder eines Formular auch direkt zugreifen über document.form2.elements[i] wobei i für das durchnummeriere feld steht... (Also 0 für deine erste checkbox, 1 für die zweite, usw.; vorsicht auch alle anderen formularinhalte werden durchnummeriert, also auch textfelder, etc.)
    Dulden hat noch lange nichts mit Toleranz zu tun!

    Toleranz heißt akzeptieren und unterstützen, weniger ist Dulden!

  3. #3
    König(in)
    Registriert seit
    05.04.2004
    Ort
    Salzgitter
    Beiträge
    1.454
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo pc,

    versuch doch mal folgendes:
    Javascript-Funktion
    Code:
    <script language="JavaScript">
    <!--
    function AllMessages&#40;&#41;
    &#123;
    for&#40;var x=0;x<document.Formularname.elements.length;x++&#41;
    &#123; var y=document.MI.elements&#91;x&#93;;
    if&#40;y.name!='ALLCHK'&#41; y.checked=document.Formularname.ALLCHK.checked;
    &#125;
    &#125;
    //-->
    </script>
    Checkbox "Alle auswählen
    Code:
    ><input type="checkbox" name="ALLCHK" value="ALLCHK" onClick="AllMessages&#40;this.form&#41;;">
    Und ganz wichtig, geb dem Formular einen Namen
    Code:
    <form action="..." method="POST" name="Formularname">
    @Macintosh
    Die \ (Backslash) vor den Anführungszeichen sind sicherlich da, weil es aus dem PHP Quelltext ist. Dort setzt man in Zeichenketten den \ vor Anführungszeichen, damit damit definiert wird, dass die Anführungszeichen teil der Zeichenkette sind und diese nicht abschließen.
    Den gleichen Namen öfters zu vergeben ist richtig so. Damit fasst man die einzelnen Elemente in eine Gruppe zusammen. In PHP beispielsweise werden diese dann in ein array eingelesen.
    true und false sind als Wert der Eigenschaft checked einer Checkbox richtig.
    Zu viertens würde ich abraten. Zum einen kann man Elemente nicht direkt ansprechen, sondern ist immer darauf angewiesen, dass diese in der Reihenfolge bleiben. Das wäre unsauber programmiert.
    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

  4. #4
    pc
    Gast

    Standard

    Hm, der zweite Vorschlag funktioniert bei mir nicht. Meine erste Variante habe ich jetzt etwas abgeändert und funktioniert nur wenn ich die restlichen Checkboxen wiefolgt definiere
    Code:
    function alle_checkboxen&#40;formname, checkname&#41; &#123;
       var el_collection = eval&#40;"document."+formname+"."+checkname&#41;;
       var thestate = eval&#40;"document."+formname+".alle.checked"&#41;;
       var length = el_collection.length;
       for &#40;var c = 0; c < length; c++&#41;
          el_collection&#91;c&#93;.checked = thestate;
    &#125;
    
    <input type='checkbox' name='produkt' value='irgendwas'>
    Nun ist aber das so, daß ich zur weiteren Auswertung mit PHP die Checkboxen in dieser Form brauche:
    Code:
    <input type='checkbox' name='produkt&#91;&#93;' value='irgendwas'>
    In der ersten Zeile bekomme ich einen Syntaxfehler. Er kommt also irgendwie nicht mit den eckigen Klammern klar, aber warum?
    In der letzten Zeile wird es vermutlich auch nicht ganz einfach, weil er dann quasi ein zweidimensionales Array ansprechen will. Kann mir jemand helfen?

    Danke.

  5. #5
    Meister(in)
    Registriert seit
    30.05.2004
    Ort
    Wien
    Beiträge
    346
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hier gibts die Lösung:

    checkall

  6. #6
    pc
    Gast

    Standard

    Vielen Dank. Nach einigem hin und her basteln läuft es jetzt endlich

  7. #7
    König(in)
    Registriert seit
    05.04.2004
    Ort
    Salzgitter
    Beiträge
    1.454
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Wunderbar Bastler mit etwas Engagement sind mir am liebsten!
    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

Ähnliche Themen

  1. an alle
    Von lonas im Forum Link Tipps
    Antworten: 1
    Letzter Beitrag: 02.04.2008, 13:30
  2. für alle attentäter
    Von driver im Forum Das Forum für Spiele, Fun & Jokes
    Antworten: 3
    Letzter Beitrag: 12.12.2006, 16:39

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •