Andreas B.: form-Variablen-Übergabe

Hallo zusammen !

Ich habe ein Problem mit folgendem Quelltext:

<script language="JavaScript">
<!--
function springezuurl(dlurl){

window.open(dlurl,"Downloadfenster");
}
//-->
</script>

...

<form name="download" method="post" action="">
              <select name="downloadmenu" onChange="springezuurl(document.download.downloadmenu.value)">
                <option value="" selected>Wählen Sie...</option>
    <option value="http://www.adobe.de/products/acrobat/readstep.html">Acrobat Reader</option>
               <option value="http://www.winzip.de/ddchomea.htm">WinZip</option>
     </select>
              <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000066"><img src="grafiken/pfeil_blau_rechts.gif" width="7" height="7">
              <font color="#0099FF"><b>Download</b></font> </font>
            </form>

Das Öffnen eines neuen Fensters mit der gewünschten URL funktioniert im IE problemlos. Beim NN öffnet sich zwar ein Fenster, jedoch wird dir url nicht übernommen. Wenn ich mir den übergebenen Wert durch alert(dlurl); anzeigen lasse, bekomme ich 'null' zurück.
Gibt es dafür eine Lösung?

Viele Dank im Voraus

Andreas

  1. Grüssi,

    <select name="downloadmenu" onChange="springezuurl(document.download.downloadmenu.value)">

    Options kann man nicht wie ein normales Input-Feld behandeln:
    http://www.teamone.de/selfhtml/tecbbdaa.htm

    lg bernhard

    1. Hallo Bernhard,

      danke für Deine Antwort, aber es bringt mich nicht viel weiter.
      Ich kann auch aus dem link nichts entnehmen,ausser dass man vielleicht noch .options anhängen. Bringt aber leider nichts. Wie gesagt, im IE fuktionnierts problemlos, nur NS macht das nicht mit.

      Vielleicht gibts noch eine andere Möglichkeit?

      Gruß

      Andreas

      Grüssi,

      <select name="downloadmenu" onChange="springezuurl(document.download.downloadmenu.value)">

      Options kann man nicht wie ein normales Input-Feld behandeln:
      http://www.teamone.de/selfhtml/tecbbdaa.htm

      lg bernhard

      1. Hallo Andreas,

        danke für Deine Antwort, aber es bringt mich nicht viel weiter.
        Ich kann auch aus dem link nichts entnehmen,ausser dass man vielleicht noch .options anhängen. Bringt aber leider nichts. Wie gesagt, im IE fuktionnierts problemlos, nur NS macht das nicht mit.

        Schau dir mal die Selfhtml-Quickbar an.
        view-source:http://www.teamone.de/selfhtml/tqa.htm

        Gruss,
         Carsten

        1. Vielen Dank für die Antworten.

          !!! Jetzt klappts !!!

          Für alle, die das gleiche Problem haben:

          (document.download.downloadmenu.options[selectedIndex].value)

          ...so funktionierts.

          Danke

          Hallo Andreas,

          danke für Deine Antwort, aber es bringt mich nicht viel weiter.
          Ich kann auch aus dem link nichts entnehmen,ausser dass man vielleicht noch .options anhängen. Bringt aber leider nichts. Wie gesagt, im IE fuktionnierts problemlos, nur NS macht das nicht mit.

          Schau dir mal die Selfhtml-Quickbar an.
          view-source:http://www.teamone.de/selfhtml/tqa.htm

          Gruss,
          Carsten

      2. hallo

        danke für Deine Antwort, aber es bringt mich nicht viel weiter.
        Ich kann auch aus dem link nichts entnehmen,ausser dass man vielleicht noch .options anhängen. Bringt aber leider nichts. Wie gesagt, im IE fuktionnierts problemlos, nur NS macht das nicht mit.

        Vielleicht gibts noch eine andere Möglichkeit?

        So solltest Du eine Combobox auslesen können:
        document.forms[0].<Name von der Combobox>.options[document.forms[0].<Name von der Combobox>.options.selectedIndex].value

        Viele Grüße von Claudia

      3. Grüssi nochmal,

        Vielleicht gibts noch eine andere Möglichkeit?

        nein, also nochmal etwas ausführlicher:

        Normales Textfeld:
        document.download.downloadmenu.value

        Options:
        document.download.downloadmenu.options[document.download.downloadmenu.selectedindex].value

        .... oder eben ....

        for (i=0; i< document.download.downloadmenu.length; i++) {
           if (document.download.downloadform.options[i].selected) {
              springezuurl(document.download.downloadform.options[i].value);
           }
        }

        mit download sprichst du nur das Select-Objekt an. Zum Wert des Option-Objekts kommst du nur über eine iteration des indexes der einzelnen Optionen, und Prüfung welche denn nun ausgewählt wurde! Oder eben durch dieses etwas komplizierte verschachtelte Konstrukt oben ;-)

        Schau dir die Objektreferenz nochmal an die ich dir gelinkt habe. Vergleiche "forms" "elements" und eben "options" - vergleiche!

        lg bernhard

  2. Hi!

    In diesem Falle waere am einfachsten statt

    <select name="downloadmenu" onChange="springezuurl(document.download.downloadmenu.value)">

    <select name="downloadmenu" onChange="springezuurl(this.options[this.selectedIndex].value)">

    zu schreiben. (this zeigt immer auf das Element, in dessen Kontext der Code ausgefuehrt wird, das ist in diesem Fall genau dasselbe wie document.download.downloadmenu.)

    So long