Jule: mit for-Schleife arbeiten

Hi,

zur Zeit habe ich mein Script so am laufen:
-------------------------------------------------
function returnToSender() {
var button1 = document.getElementById('button1');
var button2 = document.getElementById('button2');
var button3 = document.getElementById('button3');
var button4 = document.getElementById('button4');
var button5 = document.getElementById('button5');
...u.s.w. bis button32
addEvent(button1, 'click', returnIt, false);
addEvent(button2, 'click', returnIt, false);
addEvent(button3, 'click', returnIt, false);
addEvent(button4, 'click', returnIt, false);
addEvent(button5, 'click', returnIt, false);
..u.s.w. bis button32
}
Da es sich hier nun um 32 Buttons handelt, kann man doch bestimmt mit ner schönen for-Schleife das ganze abkürzen.
Bin nur in Java n echte Niete...

Habt Ihr da ne Lösung für mich ;)

cu

  1. Hallo,

    zur Zeit habe ich mein Script so am laufen:

    function returnToSender() {
        [...]
    }
    Da es sich hier nun um 32 Buttons handelt, kann man doch bestimmt mit ner schönen for-Schleife das ganze abkürzen.
    Bin nur in Java n echte Niete...

    das ist kein Java sondern JavaScript.
    Setz den Namen in der Vorschleife zusammen und speicher die referenz des Buttons in einer Variable. Danach einfach addEvent mit der Referenz benutzen.
    That's it!

    MfG. Christoph Ludwig

    --
    Wo die Sprache aufhört, fängt die Musik an...
    Selfcode:  sh:) fo:) ch:° rl:( br:^ n4:} ie:{ mo:} va:) js:| de:] zu:) fl:( ss:| ls:~
    Go to this
    1. Hallo minicrispie!

      in der Vorschleife

      Ist das die Schleife vor der for-Schleife? Oder sowas sagenumwobenes wie die if-Schleife?

      ;)

      Viele Grüße aus Frankfurt/Main,
      Patrick

      --
      _ - jenseits vom delirium - _

         Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
      J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
      1. Hallo,

        »»  in der Vorschleife

        Ist das die Schleife vor der for-Schleife? Oder sowas sagenumwobenes wie die if-Schleife?

        ;)

        ach verdammt nochmal :D

        dann eben so:

        in der For-Schleife

        ;)

        MfG. Christoph Ludwig

        --
        Wo die Sprache aufhört, fängt die Musik an...
        Selfcode:  sh:) fo:) ch:° rl:( br:^ n4:} ie:{ mo:} va:) js:| de:] zu:) fl:( ss:| ls:~
        Go to this
    2. Setz den Namen in der Vorschleife zusammen und speicher die referenz des Buttons in einer Variable. Danach einfach addEvent mit der Referenz benutzen.
      That's it!

      hört sich alles Prima an, für mich als noop aber schon zu hoch :)

      ich habs mal so ausprobiert - funzt aber nicht:
      function returnToSender() {
      for (i=0 ; i<=32; i++)
       {
       var button+i+ = document.getElementById('button+i+');
       addEvent(button+i+, 'click', returnIt, false);
       }
      }

      Noch ein hinweis ;)

      cu

      1. Hallo,

        ich habs mal so ausprobiert - funzt aber nicht:
        function returnToSender() {
        for (i=0 ; i<=32; i++)
        {
        var button+i+ = document.getElementById('button+i+');
        addEvent(button+i+, 'click', returnIt, false);
        }
        }

        naja das stimmt so nicht ganz ...
        besser ist so:

        function returnToSender() {
         for (i=0 ; i<=32; i++)
          {
          //Die Referenz des Objektes mit dem Zusammengesetzten Namen speichern
          var obj = document.getElementById('button' + i);

        //Diese Referenz für den Befehl nutzen
          addEvent(obj, 'click', returnIt, false);
          }
         }

        MfG. Christoph Ludwig

        --
        Wo die Sprache aufhört, fängt die Musik an...
        Selfcode:  sh:) fo:) ch:° rl:( br:^ n4:} ie:{ mo:} va:) js:| de:] zu:) fl:( ss:| ls:~
        Go to this
        1. Hi Christoph Ludwig,

          function returnToSender() {
          for (i=0 ; i<=32; i++)
            {
            //Die Referenz des Objektes mit dem Zusammengesetzten Namen speichern
            var obj = document.getElementById('button' + i);
            //Diese Referenz für den Befehl nutzen
            addEvent(obj, 'click', returnIt, false);
            }
          }

          Tja, so geht´s - bist n Schatz

          Danke ;)

          PS: Und wieder was gelernt

  2. Hallo Jule!

    Bin nur in Java n echte Niete...

    Das spielt keine Rolle. Du musst nur Java_SCRIPT_ verstehen.

    Du kannst über die HTMl-Collection arbeiten (Stichwort: http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name@title=getElementsByTagName()).

    Wie man eine Schleife baut, weißt Du aber?

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
  3. @@Jule:

    nuqneH

    Da es sich hier nun um 32 Buttons handelt, kann man doch bestimmt mit ner schönen for-Schleife das ganze abkürzen.

    Nein, schön wäre das nicht.

    Schön wäre es, _einen_ Eventhandler für ein übergeordnetes Element ('form') zu haben und dann auszuwerten, von welchem Element (Button) das Event ursprünglich kommt (event delegation [molily])

    Bin nur in Java n echte Niete...

    Deine Java-Kenntnisse und deine JavaScript-Kenntnisse gleichen sich in dem Maße, wie sich für dich Java und JavaScript gleichen.

    Qapla'

    --
    Bildung lässt sich nicht downloaden. (Günther Jauch)