webForumDet fria alternativet
Logga in / Bli medlem

Dropdown med två länkar

JavaScript

7 svar · 209 visningar · startad av jonne

Medlem sedan jan. 20011 154 inlägg
Frågan#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 ?

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.

Medlem 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>
Medlem 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 :(

Medlem 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? :)

Medlem 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.

Medlem 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"){
Medlem 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 ==.. :)

261 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)