A.Schimpf: Variable wird nicht übergeben (PHP & JavaScript)

Hallo,
habe folgendes Problem:
Ich übergebe eine PHP-Variable durch die onChange-Funktion per Auswahl in einer Select-Liste. Doch es kommt nichts an. :(

Hier zum beseren Verständnis ein Auszug aus meinem PHP- & JS-Script:
---------------------------------------------------------------------
PHP-Script ----------------------------------------------------------
---------------------------------------------------------------------
 <form action="request.php" method="post" name="auswahl">
                   <td height="30" class="cellunten" align="center">Nach Datum: 
<?
      require_once("data.php");
      $abfrage="select distinct jahr from surftipps";
      $ergebnis=mysql_db_query($db,$abfrage,$con);
      echo"<select name='year' size='1' onChange='holeMonat()'>";
      while(list($jahr)=mysql_fetch_row($ergebnis))
      {
           echo"<option>$jahr</option>";
      }
      echo"</select>";

---------------------------------------------------------------------
JS ------------------------------------------------------------------
---------------------------------------------------------------------

function holeMonat()
{
   location.href="request.php?datum="+document.auswahl.elements["year"].value;
}

---------------------------------------------------------------------

der Aufruf der Funktion funzt auch, aber in der Adress-Zeile ist schon zu sehen das die Vari "datum" leer ist.
http://localhost/surftipps/request.php?datum=

Dementsprechend ist $datum auch in request.php leer. Bitte Hilfe

Gruß Alex

  1. Hallo

    location.href="request.php?datum="+document.auswahl.elements["year"].value;

    Was sagt ein Alert, wenn du document.auswahl.elements["year"].value; ausgeben lässt? Das ist der erste Schritt beim Debugging.
    Danach lese dir bitte noch einmal http://selfhtml.teamone.de/javascript/objekte/options.htm durch und finde den (Denk-)Fenhler. (Du arbeitest mit einem select-Feld!)

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Hi David,
      warum funktioniert das Script den einwandfrei bei meinem Freund auf seinem Rechner (gleiches Betriebssystem, gleicher Browser, gleiche PHP-Version & anderer Apache) und nicht bei mir?

      Ich habe definitiv keinen Plan von JS. Habe mir den von Dir empfohlenen Link durchgelesen und bin nicht viel schlauer geworden. Muß ich das Value vielleicht über ...elements.options["year"].value ansprechen?

      Über einen Tipp mehr wäre ich echt froh, mir raucht heute schon leicht das Hirn ;)

      Gruß Alex

      1. Hallo

        Sicher, dass PHP gleich konfiguriert ist? Mag es vielleicht sein, dass dein Freund register_globals auf on hat? Würde mir dazu noch einfallen, wenn du meinst, es würde dort funktionieren. Ich nehme auch an, dass ihr den gleichen Browser verwendet habt.

        Ein Select-Feld ist kein Text-Feld. Das heißt, du musst die Value (bzw. bei dir den Text) des gewählten Feldes auslesen. Schaue dir dazu die Beispiele zu Value und Text auf der genannten Seite an, dort ist es mehr oder weniger vorgemacht.

        So, ich hoffe das hilft etwas weiter, sonst nochmal fragen ;)

        Grüße
          David

        --
        >>Nobody will ever need more than 640k RAM!<<
        1981 Bill Gates
        1. Hi David,
          vielen Dank! :o)
          Es läuft - ich hatte das value=.. in dem Optionsfeld vergessen anzugeben. Kein Wunder das nichts übergeben wurde. ;)

          Gruß Alex

  2. function holeMonat()
    {
       location.href="request.php?datum="+document.auswahl.elements["year"].value;
    }

    Du suchst selectedIndex.
    selectfelder werden so angesprochen: http://www.netzwelt.com/selfhtml/javascript/objekte/options.htm

    Struppi.