Constantin Kiesling: Dropdown Menü als Link-Liste

Hallo liebe Community!

Ich habe ein Problem: Ich würde gerne ein Dropdown Menü als Verweisliste einsetzen, deswegen habe ich mir mal dieses Script vom Selfhtml-Quickbar angesehen...

<form action=""><select size=1 name="Auswahl"
  onChange="Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)">

<option value="nothing">[ bitte auswählen! ]</option>
<option value="nothing">------------------------</option>
<option value="../verweisliste.htm">Verweisliste als Auswahlliste</option>
<option value="nothing">------------------------</option>
<option value="../../../editorial/index.htm">Editorial</option>
....
...
..
.

Hier wird bei onChange die Funktion "Go" aufgerufen und mit dem Wert (value) der gewählten option gefüttert. Was ich nun nicht verstehe ist der Aufruf der Funktion:

Go(this.form.Auswahl.options [this.form.Auswahl.options.selectedIndex].value)

Was hat dieser Text genau zu bedeuten? "this.form" ist mir klar, damit bezieht man sich auf das Objekt Auswahlliste, aber was heißt der Rest? Und warum steht ein ähnlicher Text nochmals in eckigen Klammern?

Würde mich über eine Erklärung sehr freuen!

Danke und Schöne Grüße,
Consti

  1. hi,

    Go(this.form.Auswahl.options [this.form.Auswahl.options.selectedIndex].value)

    Was hat dieser Text genau zu bedeuten? "this.form" ist mir klar, damit bezieht man sich auf das Objekt Auswahlliste, aber was heißt der Rest? Und warum steht ein ähnlicher Text nochmals in eckigen Klammern?

    this.form.Auswahl.options dient allgemein zum zugreifen auf die options unterhalb eines selectfeldes.

    this.form.Auswahl.options.selectedIndex ist der index der aktuell in der select-liste ausgewählten option.

    mit this.form.Auswahl.options [this.form.Auswahl.options.selectedIndex] wird also die aktuell selektierte option angesprochen.
    dann wird deren value ausgelesen, und als parameter an die funktion Go() übergeben.

    das alles findest du auch noch mal unter link:http://de.selfhtml.org/javascript/objekte/options.htm] erklärt.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  2. Hi,

    Go(this.form.Auswahl.options [this.form.Auswahl.options.selectedIndex].value)

    Was hat dieser Text genau zu bedeuten? "this.form" ist mir klar, damit bezieht man sich auf das Objekt Auswahlliste,

    nein - auf das FORM-Element.

    aber was heißt der Rest? Und warum steht ein ähnlicher Text nochmals in eckigen Klammern?

    das SELECT-Element wird über diesen Namen angespochen. Dieses hat verschiedene OPTIONs, und der hier ausgewählte (selectedIndex) wird angesprochen.

    Übrigens: Dir ist klar, daß ohne Submit-Button eine Auswahl ohne Javascript unmöglich ist? Und selbst mit würde ich infrage stellen, daß Suchmaschinen den Verweisen folgen können.

    freundliche Grüße
    Ingo

    1. Was hat dieser Text genau zu bedeuten? "this.form" ist mir klar, damit bezieht man sich auf das Objekt Auswahlliste,
      nein - auf das FORM-Element.

      Okay, eigentlich logisch... Tut mir leid für die Verwechslung.

      Übrigens: Dir ist klar, daß ohne Submit-Button eine Auswahl ohne Javascript unmöglich ist? Und selbst mit würde ich infrage stellen, daß Suchmaschinen den Verweisen folgen können.

      Ich möchte das eigentlich nicht als richtige Linkliste, sondern als Teil meines Menüs einbauen. Da die Seiten nach unten hin oft länger werden, müssen die Besucher immer wieder raufscrollen, um andere Menüpunkte anzuklicken. Deswegen würde ich gerne zusätzlich ein platzsparendes Dropdown Menü im Footer der Seite platzieren, mit dem die Besucher die Seiten der gleichen Verzeichnisebene (und somit auch grundsätzlich des selben Themas) ansteuern können.

      Wenn ich das ganze mit Submit Button mache, muss ich dann den Funktionsaufruf umbauen? Eventhandler warscheinlich onClick beim Button, oder?

      Und hast du vielleicht sonst noch gute Tipps? Würde mich freuen!

      Danke,
      Consti

      1. Hi,

        Ich möchte das eigentlich nicht als richtige Linkliste, sondern als Teil meines Menüs einbauen. Da die Seiten nach unten hin oft länger werden, müssen die Besucher immer wieder raufscrollen, um andere Menüpunkte anzuklicken. Deswegen würde ich gerne zusätzlich ein platzsparendes Dropdown Menü im Footer der Seite platzieren, mit dem die Besucher die Seiten der gleichen Verzeichnisebene (und somit auch grundsätzlich des selben Themas) ansteuern können.

        Wie jetzt? als Teil des Menüs oder zusätzlich im Footer? Letzteres wäre natürlich ok, da die Menüpunkte auch ohne Javascript erreichbar wären. Ansonsten wäre diese Liste zumindest auf der Seite als normale UL-Liste angebracht.

        Wenn ich das ganze mit Submit Button mache, muss ich dann den Funktionsaufruf umbauen? Eventhandler warscheinlich onClick beim Button, oder?

        Jein. Du müßtest lediglich bei <form action=""> eine URL eintragen, die die Formulardaten entgegennimmt und die gewünschte Seite anzeigt.

        freundliche Grüße
        Ingo

        1. Hi!

          Wie jetzt? als Teil des Menüs oder zusätzlich im Footer? Letzteres wäre natürlich ok, da die Menüpunkte auch ohne Javascript erreichbar wären. Ansonsten wäre diese Liste zumindest auf der Seite als normale UL-Liste angebracht.

          Zusätzlich im Footer... hab ich ja geschrieben.

          Wenn ich das ganze mit Submit Button mache, muss ich dann den Funktionsaufruf umbauen? Eventhandler warscheinlich onClick beim Button, oder?
          Jein. Du müßtest lediglich bei <form action=""> eine URL eintragen, die die Formulardaten entgegennimmt und die gewünschte Seite anzeigt.

          Kann ich nicht einfach mit Hilfe des Buttons die Funktion aufrufen? Dann brauche ich keine zusätzliche URL, die die Formulardaten entgegennimmt und die Seite anzeigt...

          Schöne Grüße,
          Consti

          1. hi,

            Kann ich nicht einfach mit Hilfe des Buttons die Funktion aufrufen? Dann brauche ich keine zusätzliche URL, die die Formulardaten entgegennimmt und die Seite anzeigt...

            wir reden hier über den fall, dass javascript nicht zur verfügung steht - wie sinnvoll es dann ist, eine javascript-funktion aufrufen zu wollen, fällt dir doch sicher selbst auf.

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."