webForumDet fria alternativet

Dropdown med två länkar

7 svar · 209 visningar · startad av jonne

jonneMedlem sedan jan. 20011 154 inlägg
#1

Försöker skapa en formdopdown som öppnar två länkar i varsin frame. Följande kod fungerar inte:

<script language=JavaScript>
<!--
function changetwoframes() 
{ 
parent.rightTopFrame.location.href="right_top.asp?Department=Soundvideo";
parent.rightMainFrame.location.href="right_main.asp?Department=Soundvideo"; 
} 

//-->

</script>

<form name="form1" method="post" action="">
	    <select name="select" onChange="parent.rightMainFrame.location.href=this.options[this.selectedIndex].value">
          <option value="right_main.asp?Department=Development">Development</option>
          <option value="javascript:changetwoframes()">Sound/video</option>
  
        </select>
	</form>

Någon som har ett vettigt förslag på vad som ska ändras ?

------------------
//Jonne, a beliver of murphys law

Engine^Medlem sedan dec. 20003 887 inlägg
#2

Det fungerar nog inte eftersom du använder dig utav onchange och "javascript:changetwoframes()" är ingen giltig location.href. Om du provar att ändra ditt onchange till att köra scriptet och i scriptet kolla om det är första eller andra option:en som har valts, så kan du få det att fungera.

------------------
Vem släckte lyset?

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#3

Ett exempel:

<script language="Javascript" type="text/javascript">
<!--
function changetwoframes(objekt){
if(objekt.options[objekt.selectedIndex].value = "soundvideo"){ 
parent.rightTopFrame.location.href="right_top.asp?Department=Soundvideo";
parent.rightMainFrame.location.href="right_main.asp?Department=Soundvideo"; 
} else {
parent.rightMainFrame.location.href=objekt.options[objekt.selectedIndex].value
}
}
//-->
</script>

<form name="form1" method="post" action="">
<select name="select" onChange="changetwoframes(this)">
<option value="right_main.asp?Department=Development">Development</option>
<option value="soundvideo">Sound/video</option>
</select>
</form>

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

jonneMedlem sedan jan. 20011 154 inlägg
#4

Jag måste nog ha ett genetiskt fel som förhindrar mig från att följa ett färdigt exempel och vidareutveckla detta. Får din kod att fungera fin fint tills jag försöker lägga till ytterligare ett dropdown fält. Får inga felmeddelanden men den vill inte ta det andra värdet utan tar bara det första :(

------------------
//Jonne, a beliver of murphys law

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#5

Hur är länken? En som ska öppnas som Development? I så fall kan du bara skriva in adressen. Annars får du lägga till några rader i scriptet för varje ny länk. Exempel:

<script language="Javascript" type="text/javascript">
<!--
function changetwoframes(objekt){
if(objekt.options[objekt.selectedIndex].value = "soundvideo"){ 
parent.rightTopFrame.location.href="right_top.asp?Department=Soundvideo";
parent.rightMainFrame.location.href="right_main.asp?Department=Soundvideo"; 
} else [b]if(objekt.options[objekt.selectedIndex].value = "abc"){ 
parent.rightTopFrame.location.href="right_top.asp?Department=ABC";
parent.rightMainFrame.location.href="right_main.asp?Department=ABC"; 
} else[/b] {
parent.rightMainFrame.location.href=objekt.options[objekt.selectedIndex].value
}
}
//-->
</script>
<form name="form1" method="post" action="">
<select name="select" onChange="changetwoframes(this)">
<option value="right_main.asp?Department=Development">Development</option>
<option value="soundvideo">Sound/video</option>
[b]<option value="abc">ABC</option>[/b]
</select>
</form>

Förstår du? :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

jonneMedlem sedan jan. 20011 154 inlägg
#6

Jo nu förstod iaf jag, men browsern är fortfarande dum som en vinkork. Han vägrar att ta den andra länken fast jag i dropdownen har angivit namnet på det andra "länksetet". Koden som jag har ser precis ut så som du har (be)skrivit den.

------------------
//Jonne, a beliver of murphys law

jonneMedlem sedan jan. 20011 154 inlägg
#7

Ah! Jag är ett geni :)
Felet låg i avsaknaden av ett likamed tecken :

if(objekt.options[objekt.selectedIndex].value [b]==[/b] "soundvideo"){

------------------
//Jonne, a beliver of murphys law

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#8

Oj, klantigt av mig! :)
Jag har liknande script själv, men då använder jag != så när jag gjorde scriptet till dig glömde jag att det skulle vara ==.. :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)