Ramin: target bei onchange in Gallerie -schnelle Hilfe gesucht!!!-

Hallo Leute,
Ich schreibe euch hier aus Neuseeland und brauche mal ganz dringend eure Hilfe.
Ich habe eine Homepage fuer meinen Aufenthalt hier in Neuseeland gemacht. Auch eine Fotogalerie (35 mm Slide Gallery) ist eingebaut.
Links habe ich eine Navigationsleiste (wer sich ein bild machen moechte: http://ramin.srcbonn.de).
Wenn ich jetzt in der Fotogalerie ein Album auswaehle, verschwindet die Navigationsleiste =( Ich habe schonmal versucht die index.php der Fotogalerie als iframe oder als php include in eine index.html einzubauen. Dadurch konnte ich zumindest ein Album auswaehlen ohne das die Leiste verschwindet. Wenn ich dann noch ein anderes Album auswaehle verschwindet sie aber wieder...
Kann mir irgendwer helfen? Ich wuerde das gerne so schnell wie moeglich hin bekommen und im Forum habe ich zwar aehnliches gefunden, aber das hat nicht funktioniert....
Mit Javascript kenne ich mich auch kaum aus.
Hier der Codeschnipsel:

  
  
print "<script language=\"JavaScript\">";  
print "function MM_jumpMenu(targ,selObj,restore){eval(targ+\".location='\"+selObj.options[selObj.selectedIndex].value+\"'\");";  
print "  if (restore) selObj.selectedIndex=0;}";  
print "</script>";  
print "<form name=\"form1\">";  
print "<select name=\"menu1\" onChange=\"MM_jumpMenu('parent',this,0)\">";  
print "<option value=\"#\">Bitte Album ausw&auml;hlen...</option><br>\n";  
$u=0;  
 foreach($dname as $key=>$val)  
  {  if($dname[$u])  
{ print "<option value=\"index.php?imgdir=$dname[$u]\">$dname[$u]</option>\n";  
$u++;  
}  
}  
print "</select>";  
  

Da ich ja kein Target angeben kann wie bei links im html, muss das ja irgendwie ueber den onChange befehl gehen oder? Leider weiss ich nicht was ich dort angeben muss.... Die Navigationsleiste ist als "haupt" definiert.

Vielen vielen Dank an jeden, der mir irgendwie helfen kann.
Lg aus Auckland,
Ramin

  1. Hallo Ramin,

    print "<script language="JavaScript">";
    print "function MM_jumpMenu(targ,selObj,restore){eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");";
    print "  if (restore) selObj.selectedIndex=0;}";
    print "</script>";
    print "<form name="form1">";
    print "<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">";
    print "<option value="#">Bitte Album ausw&auml;hlen...</option><br>\n";
    $u=0;
    foreach($dname as $key=>$val)
      {  if($dname[$u])
    { print "<option value="index.php?imgdir=$dname[$u]">$dname[$u]</option>\n";
    $u++;
    }
    }
    print "</select>";

    Das stammt nicht aus deiner Feder, gelt? ;-)
    Soweit ich das sehe liegt der Übeltäter hier:

    eval(targ+".location='"+selObj...

    ^^^^

    So rufst du die Funktion auf. Entscheidend ist der erste Übergabewert:

    MM_jumpMenu('parent',this,0)

    ^^^^^^^^

    Und der wird in der Funktion zur Variable:

    MM_jumpMenu(targ,selObj,restore)

    ^^^^

    "parent" spricht den direkt übergeordneten Frame an. Du willst aber die aktuelle Seite ansprechen. So müsste es gehen: Ersetze 'parent' durch 'this' oder 'document'.

    Grüße

    Nico

    1. DANKE NICO HAT GEKLAPPT!!!!
      Vielen vielen Dank fuer die schnelle Antwort.
      Und es stammt wirklich nicht aus meiner Feder ;)
      Wie schon gesagt ist es ein Script (35 mm Slide Gallery).
      Und ich kann Javascript leider nicht und von hier (oder wo auch immer) kann ich das nicht so schnell lernen...
      Aber zum Glueck gibt es ja welche die sowas direkt erkennen =)
      soll jetzt nicht heissen das ich immer fragen werde, aber irgendwo muss man ja mal anfangen zu fragen oder?
      Also vielen Dank nochmal.
      Ramin

      P.S.:
      Sorry fuer die vielen Ausrufezeichen, aber bei einem riesen Forum wie Selfhtml wird man ja sonst nicht beachtet... Also ich schreibe zum ersten Mal in dieses Forum, weil bei einem anderen einfach Niemand geantwortet hat. Bis auf manche einfach dumme Antworten die in keinster Weise helfen und einen eigentlich nur als dummen kleinen Jungen fuehlen lassen, ist das Forum bisher soweit das Beste.

      1. Hallo Ramin,

        Sorry fuer die vielen Ausrufezeichen, aber bei einem riesen Forum wie Selfhtml wird man ja sonst nicht beachtet...

        Das siehst du falsch. Es kann dir hier, glaube ich, eher passieren, dass du gerade dann nicht beachtet wirst, wenn du zu aufrdinglich postest.

        Grüße
        Nico

  2. hallo,

    Ich schreibe euch hier aus Neuseeland und brauche mal ganz dringend eure Hilfe.

    Ob nun aus Neuseeland oder vom Nordpol - alle brauchen immer ganz dringend schnelle und auch nachvollziehbare Hilfe.

    Wenn ich jetzt in der Fotogalerie ein Album auswaehle, verschwindet die Navigationsleiste

    Naja, deine Selectbox wählt eben als "target" die oberste (Frame-)Ebene aus.

    [code lang=deutsch]

    Ups?

    print "function MM_jumpMenu(targ,selObj,restore){eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");";

    Mal abgesehen davon, daß ich den von dir geposteten Code auf deiner Seite nicht in dieser Form finden kann: du benutzt offensichtlich ein Macromedia-Produkt (Dreamweaver oder GoLive), das solchen Scriptcode erstellt.

    Nun gilt allgemein: "Wer Macromedia-Editoren wie GoLive oder DreamWeaver einsetzt und dabei Probleme (gleich welcher Art) bemerkt, wird (sofern er sich auf einem terrestrischen Standort [Standorte auf dem Mond und auf dem Mars sind zwar weitgehend, aber noch nicht ewndgültig markenrechtlich abgedeckt] befindet) automatisch auf die Drei-Jahres-Antwortliste gesetzt. Kunden, die das neue Premium-Paket nutzen, können damit rechnen, daß ihnen zwischen Ende Februar eines jeden Jahres (sofern es einen 29. Februar gibt) und Anfang März desselben Jahres ein Rabatt von 50% gewährt wird - das heißt, die frühestmögliche Antwort unseres superschnellen Supportteams erreicht Sie bereits nach unglaublichen anderthalb Jahren. Besser kann es auch die Telekom nicht.
    Anmerkung für unsere Kunden in überseeischen Territorien: gehen Sie nicht über Los, ziehen Sie keine viertausend Antworten ein, sondern begeben Sie sich sofort ins Gefängnis.
    Bitte bewerten Sie unser Angebot im unten angehängten Formular entweder als 'überwältigend' oder als 'hervorragend' - die anderen Antwortmöglichkeiten sind derzeit aus technischen Gründen deaktiviert."

    Noch Fragen?

    Da ich ja kein Target angeben kann wie bei links im html

    Wieso kannst du das nicht? Dein bereits eingesetztes Script kann das ja durchaus, nur rechnet dieses Script nicht damit, daß es aus einem Frame heraus aufgerufen wird.

    muss das ja irgendwie ueber den onChange befehl gehen oder?

    Naja, "onchange" ist ein EventHandler, aber kein "Befehl". Er kann eine Javascript-Funktion aufrufen (und kann bei Bedarf auch noch ein bißchen mehr), was du offensichtlich auch haben möchtest. Das heißt: alles, was dir eventuell als "falsch" erscheint, wie beispielsweise die Auswahl eines Zielfensters für einen Verweis, ist von deinem Script abhängig.

    Es gibt auf deiner Seite noch ein paar andere Ungereimtheiten, beispielsweise ein
       <p><font size=2 face=verdana><p>&nbsp;</p>
    was kompletter Unsinn ist.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Ob nun aus Neuseeland oder vom Nordpol - alle brauchen immer ganz dringend schnelle und auch nachvollziehbare Hilfe.

      Finde ich übrigens auch, dass das ein bisschen dicke ist, in das Thema eins... zwei... drei! Ausrufezeichen zu machen. Hätte ich das heute Nacht durch meine Müdigkeit hindurch gesehen, hätte ich nicht geantwortet. :{

      N