Pull-down menu & frames

Pagina: 1
Acties:

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 06:47
Hoi,
Ik heb een probleem ik wil met een pulldown menu links openen (DOH!!!)
maar die links moeten in een bepaald frame openen en ik heb al gezocht op internet maar kan er niks over vinden
Hij moet dus pagina.htm in het frame "body" openen. Wat moet ik hieraan veranderen zodat het werkt?? :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<HEAD>

<SCRIPT LANGUAGE="JavaScript">


<!-- Begin
function formHandler(form){
var URL = document.form.site.options[document.form.site.selectedIndex].value;
window.location.href = URL;
}
// End -->
</SCRIPT>
</HEAD>


<BODY>

<center>
<form name="form">
<select name="site" size=1>
<option value="">Ga naar...<option value="muziek.htm">Home
<option value=" pagina.htm ">Link 1
<option value=" pagina.htm ">Link 2
<option value=" pagina.htm ">Link 3
<option value=" pagina.htm ">Link 4
<option value=" pagina.htm ">Link 5
<option value=" pagina.htm ">Link 6
</select>
<input type=button value="Go!" onClick="javascript:formHandler(this)">
</form>
</center>

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
*niet goed gelezen*

[ Voor 90% gewijzigd door P_de_B op 07-10-2005 18:46 ]

Oops! Google Chrome could not find www.rijks%20museum.nl


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:09

crisp

Devver

Pixelated

JavaScript:
1
parent.frames['body'].location.href = URL;

Intentionally left blank


  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 06:47
crisp schreef op vrijdag 07 oktober 2005 @ 18:28:
JavaScript:
1
parent.frames['body'].location.href = URL;
hmm het verandert nu wel maar het werkt nog niet

(vergeten te zeggen het is een inline frame)

  • -Lars-
  • Registratie: Mei 2004
  • Niet online
Dit werkt wel, waar het foutje in zat kan ik zo 123 niet zeggen. Ik ben namelijk nog steeds aan het oefenen met JS.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<html>
  <head>
    <title>Melp</title>
    <script type="application/x-javascript">
      function formHandler(form) {
        var tmp = document.getElementById('site');
        var url = tmp.options[tmp.selectedIndex].value;
        parent.frames['body'].location.href = url;
      }
    </script>
  </head>

  <body>
    <form>
      <select id="site">
        <option value="">Ga naar...</option>
        <option value="muziek.htm">Home</option>
        <option value="pagina.htm">Link 1</option>
        <option value="pagina.htm">Link 2</option>
        <option value="pagina.htm">Link 3</option>
        <option value="pagina.htm">Link 4</option>
        <option value="pagina.htm">Link 5</option>
        <option value="pagina.htm">Link 6</option>
      </select>
      <input type="button" value="Go!" onclick="formHandler(this)">
    </form>

    <iframe src="hoi.htm" name="body"></iframe>
  </body>
</html>

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 06:47
Oke, het werkt wel als ik hem naar een "echt" frame verwijs maar..... als ik hem naar een inline frame verwijs raakt ie in de problemen dan krijg ik: "Fout op de pagina" te zien onderin de statusbar

Iemand nog een idee

In ieder geval al bedankt voor datgene wat ik nu al heb _/-\o_

[ Voor 90% gewijzigd door ThinkPad op 07-10-2005 20:11 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:09

crisp

Devver

Pixelated

Het is wellicht ook niet zo slim om je frame een name="body" te geven, aangezien dat zomaar een reserved word kan zijn.
Overigens snap ik het nut van een form hier niet zo als je daar toch niets mee doet (wat wellicht wel handig zou zijn als fallback in het geval de client geen JS ondersteund), en waarom je een reference meegeeft in de eventhandler, maar daar in de functie ook niets mee doet...

Overigens bij iframes kan je de window.frames collection aanspreken:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<title>Example</title>
<script type="text/javascript">

function formHandler(form)
{
    var select = form.elements['site'];
    var URL = select.options[select.selectedIndex].value;
    if (URL)
    {
        window.frames['myframe'].location.href = URL;
    }
}

</script>
<body>
<form action="alternative_handler_script.php" target="myframe" onsubmit="formHandler(this);return false;">
    <select name="site">
        <option value="">Ga naar...
        <option value="http://google.com">Google
        <option value="http://gathering.tweakers.net">GoT
    </select>
    <input type="submit" value="Go!">
</form>
<iframe src="about:blank" name="myframe"></iframe>
</body>

[ Voor 49% gewijzigd door crisp op 07-10-2005 22:24 ]

Intentionally left blank


  • engelbertus
  • Registratie: April 2005
  • Laatst online: 08-04 10:58
moet dat niet met zoiets als target of is dat html 4.0 ipv javascript ( en kan dat dan niet toch gebruikt worden?)

body is dus inderdaad niet handig
veel sites gebruken gewoon links rechts boven en onder
of menu hoodpagina etc.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:09

crisp

Devver

Pixelated

engelbertus schreef op vrijdag 07 oktober 2005 @ 22:21:
moet dat niet met zoiets als target of is dat html 4.0 ipv javascript ( en kan dat dan niet toch gebruikt worden?)
In dit geval (keuze vanuit een select met meerdere options) ontkom je niet aan een stukje JS of een ander script dat de keuze afhandeld...

Intentionally left blank


  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 06:47
crisp schreef op vrijdag 07 oktober 2005 @ 22:14:
Het is wellicht ook niet zo slim om je frame een name="body" te geven, aangezien dat zomaar een reserved word kan zijn.
Overigens snap ik het nut van een form hier niet zo als je daar toch niets mee doet (wat wellicht wel handig zou zijn als fallback in het geval de client geen JS ondersteund), en waarom je een reference meegeeft in de eventhandler, maar daar in de functie ook niets mee doet...

Overigens bij iframes kan je de window.frames collection aanspreken:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<title>Example</title>
<script type="text/javascript">

function formHandler(form)
{
    var select = form.elements['site'];
    var URL = select.options[select.selectedIndex].value;
    if (URL)
    {
        window.frames['myframe'].location.href = URL;
    }
}

</script>
<body>
<form action="alternative_handler_script.php" target="myframe" onsubmit="formHandler(this);return false;">
    <select name="site">
        <option value="">Ga naar...
        <option value="http://google.com">Google
        <option value="http://gathering.tweakers.net">GoT
    </select>
    <input type="submit" value="Go!">
</form>
<iframe src="about:blank" name="myframe"></iframe>
</body>
Bedankt!!! deze doet het goed!!
Het doel van het menu was een muziek player

(kwou screenshot laten zien maar imageshack.us werkt niet mee :( )

Dit topic kan dicht wat mij betreft


BEDANKT!! _/-\o_

[ Voor 12% gewijzigd door ThinkPad op 08-10-2005 09:33 ]

Pagina: 1