[JavaScript] assoziative Arrays

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] assoziative Arrays

    hi, ich erstelle eine checkbox:

    <input type="checkbox" name="selectedmodules['.$row->modulname.']">

    so, wie ihr sehen könnt wird name dynamisch vergeben. der inhalt von name kann so aussehen:

    selectedmodules['email']
    selectedmodules['spam']
    selectedmodules['dns']

    so und da das ganze ja eine checkbox ist wissen wir ja, das der array wenn die box aktiv ist so aussieht

    Array
    -> selectedmodules
    ------> array
    ----------> email -> on
    -----------> spam -> on
    etc

    wie kann ich nun über eine schleife, mir sämtliche keys aus dem array selectedmodules ausgeben lassen. also das ich praktisch am ende: email, spam und dns erhalte. ich hab das selfhtml jetzt über 2 stunden geqäult und finde keine lösung.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

  • #2
    Hab dein Beispiel noch ein wenig geändert und es funzt ohne probleme. Vielleicht hilft dir dies weiter:
    PHP-Code:
    <HTML>
        <
    SCRIPT>
            function 
    marked()
            {
                for(var 
    i=0document.test.elements.length;i++)
                    if(
    document.test.elements[i].checked == true && document.test.elements[i].type == "checkbox")
                    {
                        var 
    name document.test.elements[i].value;
                        
    alert(name);
                    }
            }
        </
    SCRIPT>
    <
    BODY>
        <
    form name="test" method="post" onsubmit="javascript:marked()">
            <
    input type="checkbox" name="selectedmodules" value="email">email<br>
            <
    input type="checkbox" name="selectedmodules" value="spam">spam<br>
            <
    input type="checkbox" name="selectedmodules" value="dns">dns<br>
        </
    form>
        <
    a href="javascript:marked()">Testen</a>
    </
    BODY>
    </
    HTML
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      eine checkbox sieht aber so aus:

      <input type="checkbox" name="selectedmodules['email']">spam<br>

      und ich das script macht in meiner sicht nicht das was ich brauche.

      ich brauche ein script was sämtliche checkboxen durchläuft und mir aus name="selectedmodules['email']" das email rausfiltert.
      Zuletzt geändert von Benny-one; 19.12.2004, 19:27.
      Sunshine CMS
      BannerAdManagement
      Borlabs - because we make IT easier
      Formulargenerator [color=red]Neu![/color]
      Herkunftsstatistik [color=red]Neu![/color]

      Kommentar


      • #4
        Meiner Meinung nach hätte ich alle checkboxen mit nem Value Wert besetzt, aber lassen wir das mal dahin gestellt sein.
        Hoffe nun mal das dies dann eher passt:
        PHP-Code:
        <HTML>
            <
        SCRIPT>
                function 
        marked()
                {
                    for(var 
        i=0document.test.elements.length;i++)
                        if(
        document.test.elements[i].checked == true && document.test.elements[i].type == "checkbox")
                        {    
                            var 
        elem document.test.elements[i].name;
                            var 
        name elem.substring(elem.indexOf("['")+2,elem.lastIndexOf("']"));
                            
        alert(name);
                        }
                }
            </
        SCRIPT>
        <
        BODY>
            <
        form name="test" method="post" onsubmit="java script:marked()">
                <
        input type="checkbox" name="selectedmodules['email']">email<br>
                <
        input type="checkbox" name="selectedmodules['spam']">spam<br>
                <
        input type="checkbox" name="selectedmodules['dns']">dns<br>
            </
        form>
            <
        a href="javascript:marked()">Testen</a>
        </
        BODY>
        </
        HTML
        mfg
        Günni


        Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
        Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
        Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
        City-Tiger - Online durch die Straßen tigern...

        Kommentar


        • #5
          ne, er sagt mir leider:

          Error: document.forms[0].selectedmodules has no properties
          Source File: functions.js
          Line: 16

          Line 16: for(var i=0; i < document.forms[0].elements.length;i++)
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Kommentar


          • #6
            Zeig mal bitte ein wenig Code von dir. Hab mein beispiel auch ein wenig abgeändert und es funktioniert ohne probleme.
            PHP-Code:
             <SCRIPT>
                    function 
            marked()
                    {
                        for(var 
            i=0document.test.elements.length;i++)
                            if(
            document.forms[0].elements[i].checked == true && document.test.elements[i].type == "checkbox")
                            {
                                var 
            elem document.forms[0].elements[i].name;
                                var 
            name elem.substring(elem.indexOf("['")+2,elem.lastIndexOf("']"));
                                
            alert(name);
                            }
                    }
                </
            SCRIPT
            mfg
            Günni


            Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
            Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
            Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
            City-Tiger - Online durch die Straßen tigern...

            Kommentar


            • #7
              okay code gibts net viel:

              PHP-Code:
              $modullist .= '<input type="checkbox" name="selectedmodules['.$row->modulname.']">'
              << hier werden die checkboxen gemacht.
              $row->modulname == spam oder email oder dns etc. halt dynamisch.

              mein code (js):

              PHP-Code:
              for(var i=0document.forms[0].elements.length;i++)
                  if(
              document.forms[0].elements[i].checked == true && document.forms[0].elements[i].type == "checkbox")
                  {    
                      var 
              elem document.forms[0].elements[i].name;
                      var 
              name elem.substring(elem.indexOf("['")+2,elem.lastIndexOf("']"));
                      
              alert(name);
                  } 
              so, der code wird per funktion beim absenden des formulars aufgerufen, das klappt auch alles, nur der code (js) nicht.
              Sunshine CMS
              BannerAdManagement
              Borlabs - because we make IT easier
              Formulargenerator [color=red]Neu![/color]
              Herkunftsstatistik [color=red]Neu![/color]

              Kommentar


              • #8
                alternative

                also ideal wäre es, wenn ich einfach bei allen checkboxen den wert disable auf false setzen könnte. geht das irgendwie?
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  Hab den Code von dir versucht und er geht ohne probleme. Geh mal her und gib dir im JavaScriptCode mit alert irgendwelche Meldungen aus um herauszufinden ab wann der Code nicht mehr richtig funktionieren tut.
                  mfg
                  Günni


                  Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                  Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                  Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                  City-Tiger - Online durch die Straßen tigern...

                  Kommentar


                  • #10
                    nimmst du den IE? ich nehm FF
                    Sunshine CMS
                    BannerAdManagement
                    Borlabs - because we make IT easier
                    Formulargenerator [color=red]Neu![/color]
                    Herkunftsstatistik [color=red]Neu![/color]

                    Kommentar


                    • #11
                      Nein, ich nutze ebenfalls den FireFox.
                      Kopier dir mal das Beispiel von oben wo die HTML Datei ebenfalls dabei ist und versuche diese mal.
                      mfg
                      Günni


                      Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                      Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                      Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                      City-Tiger - Online durch die Straßen tigern...

                      Kommentar


                      • #12
                        ja *freude* es geht, günni sei dank

                        Sunshine CMS
                        BannerAdManagement
                        Borlabs - because we make IT easier
                        Formulargenerator [color=red]Neu![/color]
                        Herkunftsstatistik [color=red]Neu![/color]

                        Kommentar


                        • #13
                          An was war es jetzt gelegen das es dir ganze zeit nicht ging???
                          mfg
                          Günni


                          Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                          Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                          Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                          City-Tiger - Online durch die Straßen tigern...

                          Kommentar


                          • #14
                            ich hab deinen obersten script genommen und ein bissl umgeschrieben. jetzt gehts.
                            Sunshine CMS
                            BannerAdManagement
                            Borlabs - because we make IT easier
                            Formulargenerator [color=red]Neu![/color]
                            Herkunftsstatistik [color=red]Neu![/color]

                            Kommentar

                            Lädt...
                            X