webForumDet fria alternativet

Nytt fönster från hoppmeny

JavaScript

16 svar · 603 visningar · startad av qwerty

Medlem sedan jan. 2001391 inlägg
Frågan#1

Hej!

Jag har en "hoppmeny" där jag har ett antal länkar. Hur gör jag om jag vill att dessa länkar ska öppnas i ett nytt fönster.

Tack p förhand.

Medlem sedan nov. 200013 890 inlägg
#2

Vad är en "hoppmeny"?

Medlem sedan jan. 2001391 inlägg
#3

En selct-meny. I Dreamweaver heter det hoppmeny.

Medlem sedan nov. 200013 890 inlägg
#4

Eftersom jag inte vet hur DreamWeaverkoden ser ut så kan jag inte ge dig något direkt svar, men kolla på dom här trådarna:
http://www.webforum.nu/showthread.php?s=&threadid=16810
http://www.webforum.nu/showthread.php?s=&threadid=16481
http://www.webforum.nu/showthread.php?s=&threadid=51940

(Flyttar även tråden till JavaScript-forumet ;))

Medlem sedan jan. 2001391 inlägg
#5

Så här ser scriptet ut:

<script language="JavaScript">

<!--

function MM_jumpMenu(targ,selObj,restore){ //v3.0

  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");

  if (restore) selObj.selectedIndex=0;

}

//-->

</script>

...och så här ser selectmenyn ut:

<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
                <option selected>V&auml;lj omr&aring;de:</option>
                <option value="http://www.sidan.se/index.htm">Lank1</option>
                <option value="http://www.sidan.se/index2.htm">Lank2</option>
                <option value="http://www.sidan.org">Lank3</option>
              </select>

Det skiter sig hur jag än försöker...

Någon som kan ge mig ett tips utifrån mitt kodexempel?

Medlem sedan juni 200032 967 inlägg
#6
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(window.open('"+selObj.options[selObj.selectedIndex].value+"','windowname','width=320,height=320')");
  if (restore) selObj.selectedIndex=0;
}

Du kan lägga till fler egenskaper på fönstret om du vill.

(Du kan ta bort targ ur interfacet om du vill, och också ta bort det argumentet när du anropar funktionen. Det används inte i funktionen längre)

Mvh,

Medlem sedan juni 20004 308 inlägg
#7

"DreamWeaver"... Vad är det? Forumet för drömvävning och annat hokus pokus är runt hörnet ;) Här diskuterar vi riktiga saker som JavaScript och DHTML.

Medlem sedan jan. 2001391 inlägg
#8

Tack för tips, men tyvärr funkar det inte.

När jag gör enligt @nders exempel händer det ingenting när jag väljer ett nytt alternativ i select-boxen. Återgår jag till det script jag hade från början så funkar det, men länken öppnas i samma fönster, vilket jag inte vill.

Nån som har en förklaring?

[r]
Skulle inte problemet kunna ligga i den här raden. Jag har försökt att byta up parent mot blank, men det hjälper inte.

<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">

[/r]

Medlem sedan juni 200032 967 inlägg
#9

Hur ser funktion och anrop ut nu, när det inte fungerar?

Medlem sedan jan. 2001391 inlägg
#10

Så här:

<script language="JavaScript">

<!--

function MM_jumpMenu(selObj,restore){ //v3.0
eval(window.open('"+selObj.options[selObj.selectedIndex].value+"','windowname','width=640,height=480')");
if (restore) selObj.selectedIndex=0;
}

//-->

</script>

...och så här:

<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
                <option selected>V&auml;lj omr&aring;de:</option>
                <option value="http://www.page.nu/index.htm">Lank1</option>
                <option value="http://www.page.com/index.htm">Lank2</option>
                <option value="http://www.page.org">Lank3</option>
              </select>

Om man i internet explorer klickar på den lilla gula triangeln nere i statusfältet kan man finna följande: Oavslutad strängkonstant och Ett objekt förväntas.

Medlem sedan juni 200032 967 inlägg
#11

@nders skrev:

Du kan ta bort targ ur interfacet om du vill, och också ta bort det argumentet när du anropar funktionen.

Du har inte tagit bort argumentet när du anropar funktionen.

(är du säker på att oavslutad strängkonstant kommer från den här koden?)

Medlem sedan jan. 2001391 inlägg
#12

Ursäkta min bristande kunskap, men exakt vad är det jag ska ta bort?

Medlem sedan juni 200032 967 inlägg
#13
<select name="menu1" onChange="MM_jumpMenu([b]'parent',[/b]this,0)">

Du tog bort argumentet från funktionen, då måste du ta bort det ur anropet också.

Mvh,

Medlem sedan jan. 2001391 inlägg
#14

Kollade i javascript-konsollen i NS: Nu ser det ut så här.

JavaScript Error: http://www.page.nu/docs/info.htm, line 16:

unterminated string literal.

eval(window.open('"+selObj.options[selObj.selectedIndex].value+"','windowname','width=640,height=480')");
......................................................................................................^
[r] (fast pilen pekar på det röda i slutet) [/r]

JavaScript Error: http://www.page.nu/docs/info.htm, line 274:

MM_jumpMenu is not defined.

Medlem sedan juni 200032 967 inlägg
#15

Det ska vara ett citationstecken först också, det missade jag förut:

function MM_jumpMenu(selObj,restore){ //v3.0
eval("window.open('"+selObj.options[selObj.selectedIndex].value+"','windowname','width=640,height=480')");
if (restore) selObj.selectedIndex=0;
}

Mvh,

Medlem sedan jan. 2001391 inlägg
#16

Äntligen!!!

Tack :e :e :birp

Medlem sedan juni 200032 967 inlägg
#17

Vassego, slit den med hälsenan! :bire

254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)