Dropdown Navigation: neuer Frame ODER neues Fenster
Jan
- javascript
Hallo, mein Problem:
ich habe auf einer Frameseite 4 verschiedene Dropdown-Menüs, von denen 3 auf einen anderen Frame verweisen sollen, aber das vierte auf ein neues Fenster.
Einzeln funktioniert beides einwandfrei, nur weiss ich nicht, wie ich die Scripts so verbinden kann, dass es beim jeweiligen Dropdown-Menü die entsprechende Funktion ausführt. Wenn ich beide Funktionen in den head Bereich stelle, verwendet der Browser für alle Felder jeweils die weiter unten aufgeführte Funktion, d.h. es öffnet sich entweder für alle ein neues Fenster oder alle verweisen auf den anderen Frame. Ich habe auch versucht, mit unterschiedlichen Namen und Titeln durchzuwechseln (im Script unten heißen beide noch select XYZ und form) aber dann funktioniert es meist gar nicht mehr).
Hier die 2 unterschiedlichen Scripts im head Bereich:
<SCRIPT language="JavaScript" type="text/javascript">
function
goTo(form){
var myindex=form.selectXYZ.selectedIndex
if (form.selectXYZ.options[myindex].value !="0"){
window.open(form.selectXYZ.options[myindex].value, target="Hauptframe");
}
}
</SCRIPT>
und das zweite:
<SCRIPT language="JavaScript" type="text/javascript">
function
goTo(form){
var myindex=form.selectXYZ.selectedIndex
if
(form.selectXYZ.options[myindex].value
!="0"){
window.open(form.selectXYZ.options[myindex].value,"","");
}
}
</SCRIPT>
Wahrscheinlich werde ich jetzt erstmal einen dicken Tritt in den Hintern bekommen, aber ich bin nun mal Neuling und habe auch wirklich nichts in der Suche gefunden, was explizit auf dieses Problem passen würde.
Würde mich sehr über jede Hilfe freuen!
Gruß aus Erlangen,
Jan
hi,
Hier die 2 unterschiedlichen Scripts im head Bereich:
<SCRIPT language="JavaScript" type="text/javascript">
function
goTo(form){
[...]
und das zweite:<SCRIPT language="JavaScript" type="text/javascript">
function
goTo(form){
hiermit hast du jetzt die im ersten script definierte funktion goTo() überschrieben ...
warum verwendest du nicht zwei funktionen mit _unterschiedlichen_ namen?
gruß,
wahsaga
Hallo Jan,
Wahrscheinlich werde ich jetzt erstmal einen dicken Tritt in den Hintern bekommen, aber ich bin nun mal Neuling und habe auch wirklich nichts in der Suche gefunden, was explizit auf dieses Problem passen würde.
Deinem Code ist zu entnehmen, daß Dir schon klar ist, if-else-Anweisungen beieinflussen die Abarbeitung eines Steuerflusses.
if(form.selectXYZ.options[myindex].value=="eine-seite-im-popup.htm")
window.open(form.selectXYZ.options[myindex].value,"","");
else
top.Hauptframe.location.href=form.selectXYZ.options[myindex].value
Gruß aus Berlin!
eddi
Deinem Code ist zu entnehmen, daß Dir schon klar ist, if-else-Anweisungen beieinflussen die Abarbeitung eines Steuerflusses.
if(form.selectXYZ.options[myindex].value=="eine-seite-im-popup.htm")
window.open(form.selectXYZ.options[myindex].value,"","");
else
top.Hauptframe.location.href=form.selectXYZ.options[myindex].value
Die Codes sind zwar nicht von mir, sondern nur kopiert, aber ich kann schon in etwa verstehen, was if und else bewirken. Jedoch denke ich, das obige Script ist eher geeignet, wenn man nur einen bestimmten Eintrag in einem Scroll-Menü auf eine neue Seite lenken will. Mein Problem ist jedoch, dass alle Einträge eines Menüs eine neue Seite öffnen sollen und alle Einträge der anderen Menüs im "Hauptframe" geöffnet werden sollen. Die Variable von der die Funktion abhängt, soll nicht der Eintrag im Menü sein, sondern das Menü selbst. Ich bräuchte also eine if/else Funktion nach dem Motto: Wenn der Name des Formularfelds XYZ ist, dann Hauptframe, wenn der Name ABC ist, dann neue Seite.
Sorry, ich hoffe ich habe mich einigermaßen verständlich ausgedrückt. Über ein passendes Script wäre ich wirklich dankbar!
(ich habe vorher nur mit Frontpage gearbeitet, d.h. meistens noch nicht mal HTML Codes bearbeitet, daher wird es wahrscheinlich etwas dauern, bis ich mich so weit in Javascript reingearbeitet habe, dass ich solche Dinge alleine hinbekomme...)
mfG aus Erlangen,
Jan
hi,
Ich bräuchte also eine if/else Funktion nach dem Motto: Wenn der Name des Formularfelds XYZ ist, dann Hauptframe, wenn der Name ABC ist, dann neue Seite.
dann würde ich vorschalgen, du benutzt eine funktion für beide menüs, und übergibst beim aufruf einen zusätzlichen parameter, an hand dessen du entscheidest, ob öffnen in neuem fenster oder im hauptframe.
Über ein passendes Script wäre ich wirklich dankbar!
dank danke dir selbst, nachdem du dein script entsprechend angepasst hast ;-)
kannst gerne erneut nachfragen, wenn du bei der umsetzung noch probleme hast - aber "fertig" gibt's hier normalerweise nicht.
gruß,
wahsaga