Hej! Jag tror faktiskt att det är såhär enkelt: Efter att till slut verkligen läst HELA din kod *skruvar generat på sig*, så kom jag fram till följande. Förstår va du menar men.. Kort svar: Nepp! :) När jag testar att köra javascriptet .....parent.framename.location.href="sida.aspx" så öppnar inte "sida.aspx" i framen utan en blank sida med TEXTEN "sida.aspx" på. Har testat på lite olika sätt men alltid med samma resultat.target=?
Har ett navigeringsformulär som ser ut som följer:
<SCRIPT type="text/javascript" language=JavaScript>
<!--
function jump2(url) {
top.location.href = url;
}
// -->
</SCRIPT>
<FORM METHOD="POST" ACTION="http://www21.brinkster.com/blabla">
<SELECT name="" onChange="jump2(this.options[this.selectedIndex].value)">
<OPTION value="">Gå direkt till...<OPTION>---------
<option value="main.asp">Home
<option value="downloads.asp">Downloads
<option value="thumbs.asp">Bilder
<option value="forum.asp">Forum
<option value="script.asp">Koder och Script
<option value="vote.asp">Veckans Fråga
</SELECT>
</FORM>
Går det på något sätt att infoga "target=" till det scriptet?
Alltså: När man väljer nån av sidorna i dropdown-boxen så
ska de öppnas i en "frame" på min sida, target=main..
Tack på förhand
/ErikSv: target=?
<FORM METHOD="POST" ACTION="http://www21.brinkster.com/blabla" TARGET=MAIN<----->
Hoppas det är så. Jag vet att <form> har en egenskap som heter target. Problemet är bara då man vill ha olika targets för olika forms och browsern inte stöder DHTML. Annars kan man ju ställa om det värdet som man vill, precis som nästan alla andra.Sv: target=?
<SCRIPT type="text/javascript" language=JavaScript>
<!--
function jump2(url) {
//Peka på den frame du vill öppna i.
top.frame("namnet").location.href = url;
//eller
top.frame(nummer).location.href = url;
//top.location.href = url; Din gamla rad
}
// -->
</SCRIPT>
När du pekar på en frame som ligger i en frame funkar det som flerdimensionella arrayer (med nollbas) eller så kan du använda namet istället för nummer. Jag illustrerar istället:
top.frame("main")("mittensida")
eller
top.frame(1)(1)
Hoppas du förstår vad jag menar, eller att det räcker.
Det vilktigaste är att du namnat dina ramar i det dokument som skapar dina frames.
<frame src="start.html" name="main">
Däremot fattar jag inte vad du ska ha formuläret till ...Sv: target=?
behöver jag ändra nåt på den här raden också
för att det ska funka? :
<SELECT name="" onChange="jump2(this.options[this.selectedIndex].value)">
ps. formuläret är en enkel navigeringsruta på en sidaSv: target=?
Längre svar (som kanske någon annan vill läsa:
Om din sida består av ett frameset med två kolumner är det synnerligen simpelt:
[...]
<frame src="nav.asp" name="nav">
<frame src="start.asp" name="main">
[...]
Om du så vill öppna alla nya sidor i "main" så skriver du följande:
window.top.frames(1).location.href = url;Sv: target=?
Någon idè om vad som hänt?
mhv Peter L