---
title: "Menyscript med 2 olika target"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/132494-menyscript-med-2-olika-target"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Mira"
published: "2005-08-09T18:57:42.000Z"
updated: "2005-08-09T22:34:33.000Z"
replies: 11
views: 341
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/132494-menyscript-med-2-olika-target"
---

# Menyscript med 2 olika target

## #1 — Mira, 2005-08-09T18:57Z

Jag har ett javasacript (färdigt script) som gör en dropdownmeny.
I koden skriver man vilken target länkarna ska ha.
Nu skulle jag vilja kunna välja 2 olika target-möjligheter.
Hur får jag in det i koden?

Det här är koden som skriver ut länken:

```
skrivUtDetta+=
("<TR><TD HEIGHT='"+varjeLanksHojd+"' "+styleForTDelement+" onClick=
\""+geTargetKod('javascript', eval("meny"+i+"lankar["+j+"]"))
+"\" onMouseOver=\"this.style.backgroundColor='"+menyerFargMedMus+"'\" 
onMouseOut=\"this.style.backgroundColor=''\">
<A HREF=\""+eval("meny"+i+"lankar["+j+"]")+"\" TARGET=\""+geTargetKod('lank')+"\" 
CLASS='menyLankClass'><IMG SRC='"+bildSida+"' BORDER=0 HEIGHT="+bildSidaHojd+" 
WIDTH="+bildSidaBredd+" VSPACE=0 HSPACE=0>
"+eval("meny"+i+"rubriker["+j+"]")+"</A></TD></TR>")
```

 

Säg till om det behövs mer kod för att förstå.

Permalänk: https://www.webforum.nu/p/132494

## #2 — Peter S, 2005-08-09T19:41Z

Menar du att nedanstående skall ändras så att href-värdet öppnas på två olika ställen?

```
TARGET=\""+geTargetKod('lank')+"\"
```

Permalänk: https://www.webforum.nu/p/1655259

## #3 — Mira, 2005-08-09T20:06Z

Inte samma href, utan olika för de 7 olika länkarna jag har.
Några ska öppnas på \_blank, några i en frame.
Alltså behöver jag kunna ange hur varje länk ska öppnas - i target1 eller target2.

Target anges såhär: menyTarget="\_blank";

Och länkarna såhär:
meny1lankar=new Array(
"xxx1.htm", 
"xxx2.htm",
"xxx3.htm",
"xxx4.htm");

Permalänk: https://www.webforum.nu/p/1655272

## #4 — Peter S, 2005-08-09T20:15Z

Om vi kopplar meny1lankar\[*x*\] med menytarget\[*x*\], like so:

```
meny1lankar = new Array("xxx1.htm", "xxx2.htm", "xxx3.htm");

menytarget = new Array("frame1", "_blank", "frame2");
```

xxx1.htm öppnas alltså i frame1, xxx2.htm i ett nytt fönster o.s.v. Och sedan:

```
skrivUtDetta+=
("<TR><TD HEIGHT='"+varjeLanksHojd+"' "+styleForTDelement+" onClick=
\""+geTargetKod('javascript', eval("meny"+i+"lankar["+j+"]"))
+"\" onMouseOver=\"this.style.backgroundColor='"+menyerFargMedMus+"'\" 
onMouseOut=\"this.style.backgroundColor=''\">
<A HREF=\""+eval("meny"+i+"lankar["+j+"]")+"\" TARGET=\""+[b]menytarget[j][/b]+"\" 
CLASS='menyLankClass'><IMG SRC='"+bildSida+"' BORDER=0 HEIGHT="+bildSidaHojd+" 
WIDTH="+bildSidaBredd+" VSPACE=0 HSPACE=0>
"+eval("meny"+i+"rubriker["+j+"]")+"</A></TD></TR>")
```

Ute och cyklar?

Permalänk: https://www.webforum.nu/p/1655275

## #5 — Mira, 2005-08-09T21:12Z

Nä, det blir något fel.
Felmeddelandet säger att "\_blank är odefinierad" och så pekar den på det ställe där geTargetKod är angivet.
Testade även att låta geTargetKod vara kvar, med samma felresultat.

geTargetKod är angiven så här:

```
function geTargetKod(typ, URL)
{
	if (typ == "lank")
	{
		if (menyTarget == "_blank")
		{
		return "theNewWindow"
		}
		else
		{
		return menyTarget;
		}
	}
	else
	{
		if (menyTarget == "_top")
		{
		return "top.location.href='"+URL+"'"
		}
		else if (menyTarget == "_self")
		{
		return "self.location.href='"+URL+"'"
		}
		else if (menyTarget == "_blank")
		{
		return "oppnaFonster('"+URL+"');"
		}
		else if ((typeof(eval("parent."+menyTarget))+"").toLowerCase().indexOf("object") != -1)	
		{		return "parent."+menyTarget+".location.href='"+URL+"'"
		}
		else if (varningFrameSaknas.length>0)
		{
		alert(varningFrameSaknas)
		varningFrameSaknas="";	
		}
	}
}
```

Permalänk: https://www.webforum.nu/p/1655302

## #6 — Peter S, 2005-08-09T21:21Z

Kan du inte bara ange som argument till geTargetKod() var du vill att länken skall öppnas? Alltså:

```
TARGET=\""+geTargetKod('_blank')+"\"
```

Och sedan bygga om geTargetKod() litet grand.

Permalänk: https://www.webforum.nu/p/1655310

## #7 — Mira, 2005-08-09T21:50Z

Men då öppnas ju alla länkar i -blank.
Eller...?
Vad menar du med bygga om?
Funktionen geTargetKod anger väl bara hur target-koden ska tolkas av scriptet...?
\_blank är ju definierat, men något i ditt förslag gör att den inte fattar det...

Permalänk: https://www.webforum.nu/p/1655323

## #8 — Peter S, 2005-08-09T21:59Z

Så här menar jag (enkelt):

```
TARGET=\""+geTargetKod('_blank')+"\"
TARGET=\""+geTargetKod('frame1')+"\"
TARGET=\""+geTargetKod('_self')+"\"
```

```
function geTargetKod(w){
    return w;
}
```

Permalänk: https://www.webforum.nu/p/1655327

## #9 — Mira, 2005-08-09T22:03Z

Fattar inte riktigt var jag ska skriva detta - och vad jag ska ta bort...

Permalänk: https://www.webforum.nu/p/1655329

## #10 — Peter S, 2005-08-09T22:07Z

Det är förmodligen jag som missuppfattar vad du vill åstadkomma. Om vi startar om från början; varför kan du inte bara skriva exempelvis så här direkt i koden:

```
TARGET=\"frame1"

TARGET=\"_blank\"
```

o.s.v?

Permalänk: https://www.webforum.nu/p/1655331

## #11 — Peter S, 2005-08-09T22:18Z

Ok, jag tror jag förstår vad du menar. Om vi går tillbaka till det [här](http://www.webforum.nu/showthread.php?s=&postid=1076418#post1076418) inlägget, så kan anledningen till felet bero på radbrytningarna. Se till att allt hamnar på samma rad som *skrivUtDetta*.

Permalänk: https://www.webforum.nu/p/1655338

## #12 — Mira, 2005-08-09T22:34Z

Radbrytningarna finns bara här, inte i min kod.

Grejen är att skrivUtDetta finns bara i koden 1 gång - alltså kan jag inte skriva flera TARGET där.
Det måste isf anges i new Array - där länkarna är angivna.
Därför trodde jag att ditt första förslag skulle funka, men det är nåt som felas... (obs jag har stavat det menyTarget som det ska vara - så inget fel där heller)
Fast jag tror mer på att geTargetKod ska vara kvar, eftersom menyTarget kopplas in där.
Men, men, det löser inget det heller...

Permalänk: https://www.webforum.nu/p/1655340

---

Tråden på webben: https://www.webforum.nu/amne/javascript/132494-menyscript-med-2-olika-target
