Drathy: Anscheinend Problem bei globaler Variable

Hallo zusammen!

Ich habe ein kleines Problem mit einem Script. Vorab, ich weiß, dass es nicht sehr ordenlich bzw. sauber ist, aber das möchte ich außer acht lassen...

Also: Ich habe im body eine php-Funktion, die eine Datenbankabfrage sendet und das Ergebnis in ein JS-Array schreibt. Unten sieht man dazu den Quelltext der entstehenden Seite. Wie zu sehen ist, wird das Array 'liste2' auch mit den korrekten Werten beschrieben.
Mein Problem ist nun, dass wenn die Funktion 'update_drp2' aufgerufen wird, anscheinend das Array nicht mehr gültig ist, denn der Alert-Aufruf innerhalb der Funktion liefert 'undefined' zurück. Wenn ich das aber hier (http://de.selfhtml.org/javascript/sprache/variablen.htm) sehe, dann sollte doch das Array (also die Variable) doch innerhalb der Funktion gültig sein, oder?? Wäre super, wenn mir jemand meinen Fehler aufzeigen könnte...

Quelltext:
<script type="text/javascript">
 var liste2=new Array(2);
 for(var i=0;i<liste2.length;i++)
  liste2[i]=new Array(2);
 liste2[0][0]=Testprojekt;
 liste2[0][1]=3;
 liste2[1][0]=Testprojekt2;
 liste2[1][1]=3;
function update_drp2() {
    var x=2;//document.frm_auswahl.drp2.length;
    for(var n=0; n<x; n++){
        document.frm_auswahl.drp2.options[0]=null;}
    alert(liste2[0][1]);
    for(n=0; n<liste2.length; n++) {
         if(liste2[n][1]==document.frm_auswahl.drp1.value) {
            var NeuerEintrag=new Option(liste2[n][0]);            document.frm_auswahl.drp2.options[document.frm_auswahl.drp2.length]=NeuerEintrag;
        }
    }
}
</script>

  1. hi,

    liste2[0][0]=Testprojekt;
    liste2[0][1]=3;
    liste2[1][0]=Testprojekt2;

    Wo und mit welchen Inhalten sind die Variablen/Objekte Testprojekt und Testprojekt2 von dir definiert worden?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi!

      Danke für Deine schnelle Antwort die das Bemühen mir zu helfen!

      Wo und mit welchen Inhalten sind die Variablen/Objekte Testprojekt und Testprojekt2 von dir definiert worden?

      Also Testprojekt, Testprojekt2 & 3 sind die Inhalte meiner Datenbank an der entsprechenden Stelle. Definiert habe ich sie wie folgt:
      <?PHP>
          while($ergebnis = mysql_fetch_array($abfrage)) {
              echo "\tliste2[$n][0]=".$ergebnis["projektname"].";\n"
              . "\tliste2[$n][1]=".$ergebnis["kdnr"].";\n";
              $n++;
          }
      ?>

      Ich sollte vielleicht dazu sagen, dass ich als Vorlage folgendes Tutorial verwendet habe, um zwei voneinander abhängige Listen zu erstellen: http://www.php-resource.de/tutorials/read/41/1/

  2. Hallo,

    liste2[0][0]=Testprojekt;

    kann so nicht funktionieren, weil Testprojekt in diesem Fall als Variable (die ja nicht gesetzt ist) betrachtet wird. Um es als Text einzufügen, musst Du noch Anführungszeichen mit ausgeben.

    Grüße Basti

    1. kann so nicht funktionieren, weil Testprojekt in diesem Fall als Variable (die ja nicht gesetzt ist) betrachtet wird. Um es als Text einzufügen, musst Du noch Anführungszeichen mit ausgeben.

      Boahh....vielen Dank, nun funzt es!!!

      Oh mann, wie peinlich...da habe ich im Tutorial die beiden ' ' mit "weggeändert"...noch peinlicher, dass ich stundenlang den Fehler nicht gefunden habe.... *rotwerdundschäm*

      Nochmals danke für die schnelle Hilfe!!!

      1. Oh mann, wie peinlich...da habe ich im Tutorial die beiden ' ' mit "weggeändert"...noch peinlicher, dass ich stundenlang den Fehler nicht gefunden habe.... *rotwerdundschäm*

        Hättest du dir die Fehlermeldung in der Javascript Konsole angeschaut, wären aus den Stunden Minuten geworden.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Hättest du dir die Fehlermeldung in der Javascript Konsole angeschaut, wären aus den Stunden Minuten geworden.

          Danke für den Hinweis. Damit ich das nächste Mal kostbare Stunden in Minuten umwandeln kann: Kannst Du einem JS-Newbie bitte kurz sagen, wie ich die JS-Konsole aufrufe?

          Danke im Voraus!

          Gruß,
          Drathy

          1. Bitte Frage streichen - schon gefunden^^

            Nochmals danke für den Hinweis!!!