Probleem met Frame laden
Hallo Allemaal,
Ik zit met een klein probleempje waar ik dus maar niet uitkom.
Ik heb nog een oude website waar ik aan het knutselen ben dat werkt in Frames.
nu heb ik een tool gemaakt waarmee je via Select (dubbelklik) wordt doorverwezen naar een nieuwe pagina.
echter wordt deze in het frame geladen als waar de balk staat. Dit is dus fout.
Ik wil dus graag dat de pagina in het andere frame wordt geladen.
De framenaam waarin het selectbalkje staat weergegeven: Rechterzijde
De framenaam waarin het geladen moet worden: Linkerzijde
Hieronder de code:
<body onLoad="document.Linkerzijde.items.selectedIndex.value=0;">
<select name=items onchange="if(selectedIndex != 0) location = options[selectedIndex].value;" size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
Wie o Wie weet het foutje ?
Ik zit met een klein probleempje waar ik dus maar niet uitkom.
Ik heb nog een oude website waar ik aan het knutselen ben dat werkt in Frames.
nu heb ik een tool gemaakt waarmee je via Select (dubbelklik) wordt doorverwezen naar een nieuwe pagina.
echter wordt deze in het frame geladen als waar de balk staat. Dit is dus fout.
Ik wil dus graag dat de pagina in het andere frame wordt geladen.
De framenaam waarin het selectbalkje staat weergegeven: Rechterzijde
De framenaam waarin het geladen moet worden: Linkerzijde
Hieronder de code:
<body onLoad="document.Linkerzijde.items.selectedIndex.value=0;">
<select name=items onchange="if(selectedIndex != 0) location = options[selectedIndex].value;" size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$data = mysql_query("SELECT * FROM ledenbeheer");
while ($info = mysql_fetch_array($data)) {
$login = $info['inlognaam'];
echo "<option value=\"/accountnamen.php?p=$login\">$login</option>";
}
?>
$data = mysql_query("SELECT * FROM ledenbeheer");
while ($info = mysql_fetch_array($data)) {
$login = $info['inlognaam'];
echo "<option value=\"/accountnamen.php?p=$login\">$login</option>";
}
?>
Wie o Wie weet het foutje ?
1. zorg dat het iframe een id krijgt:
2. verander niet 'de location van de pagina' maar in plaats daarvan het 'src attribuut' van het element met het id dat je wilt veranderen:
<select name=items onchange="if(selectedIndex != 0) document.getElementById('myFrame').src = options[selectedIndex].value;" size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
2. verander niet 'de location van de pagina' maar in plaats daarvan het 'src attribuut' van het element met het id dat je wilt veranderen:
Code (php)
1
2
3
2
3
<select name=items onchange="if(selectedIndex != 0) document.getElementById('myFrame').src = options[selectedIndex].value;" size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
Gewijzigd op 21/07/2014 18:48:39 door Frank Nietbelangrijk
Hmm, Ik werk met de oude Frame optie.
Maar deze get elementbyid myframe werkt ook niet..
Dit heb ik dus nu staan:
<frame src="home.php" name="hoofd">
^^
<select name=items onchange="if(selectedIndex != 0) document.getElementById('hoofd').src = options[selectedIndex].value;" size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
Maar deze get elementbyid myframe werkt ook niet..
Dit heb ik dus nu staan:
<frame src="home.php" name="hoofd">
^^
<select name=items onchange="if(selectedIndex != 0) document.getElementById('hoofd').src = options[selectedIndex].value;" size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
ik zei geef hem een id. :-)
dus:
Toevoeging op 21/07/2014 22:33:41:
Wel even opletten want ieder id mag slechts éénmaal aan een element toegekend worden.
dit is dus fout:
dus:
Toevoeging op 21/07/2014 22:33:41:
Wel even opletten want ieder id mag slechts éénmaal aan een element toegekend worden.
dit is dus fout:
Hmm, ook dat werkt niet.
heb voor de dubbelcheck ook een ander ID gebruikt, maar het laad helemaal niet meer.
Dit is het bestand rechterzijde:
<select name=items onchange="if(selectedIndex != 0) document.getElementById('hoofdframepagina').src = options[selectedIndex].value;" size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
<option value="/phpbestand.php?x=$login">$login</option>
<option value="/phpbestand.php?x=$login2">$login2</option>
<option value="/phpbestand.php?x=$login3">$login3</option>
<option value="/phpbestand.php?x=$login4">$login4</option>
dit is het bestand index:
<frameset cols="*,170" frameborder="NO" border="5" framespacing="0">
<frameset rows="135,*" cols="*" frameborder="NO" border="0" framespacing="0">
<frame src="bovenbalk.php" name="topFrame" target="hoofd" scrolling="No" noresize >
<frameset rows="*" cols="180,*" framespacing="0" frameborder="NO" border="0">
<frame name="inhoud" target="hoofd" src="menu.php">
<frame src="home.php" id="hoofdframepagina" name="hoofd">
</frameset>
heb voor de dubbelcheck ook een ander ID gebruikt, maar het laad helemaal niet meer.
Dit is het bestand rechterzijde:
<select name=items onchange="if(selectedIndex != 0) document.getElementById('hoofdframepagina').src = options[selectedIndex].value;" size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
<option value="/phpbestand.php?x=$login">$login</option>
<option value="/phpbestand.php?x=$login2">$login2</option>
<option value="/phpbestand.php?x=$login3">$login3</option>
<option value="/phpbestand.php?x=$login4">$login4</option>
dit is het bestand index:
<frameset cols="*,170" frameborder="NO" border="5" framespacing="0">
<frameset rows="135,*" cols="*" frameborder="NO" border="0" framespacing="0">
<frame src="bovenbalk.php" name="topFrame" target="hoofd" scrolling="No" noresize >
<frameset rows="*" cols="180,*" framespacing="0" frameborder="NO" border="0">
<frame name="inhoud" target="hoofd" src="menu.php">
<frame src="home.php" id="hoofdframepagina" name="hoofd">
</frameset>
Waarom nog met frames blijven knutselen? Dat is iets dat standaard was in de vorige eeuw.
Ondertussen is er het nodige verandert. Ook inline css is bv. iets wat niet erg gangbaar is meer tegenwoordig.
En de intrede van HTML5.
Ondertussen is er het nodige verandert. Ook inline css is bv. iets wat niet erg gangbaar is meer tegenwoordig.
En de intrede van HTML5.
veranderen in
Code (php)
1
onchange="if(selectedIndex != 0) document.rechterZijde.location = options[selectedIndex].value;"
als ik me goed herinner (frames is echt al heel lang geleden gelukkig :P)
Sorry we beginnen nog eens opnieuw. Je hebt het id van de <select> nodig. als je dus een <select id="pindakaas"> hebt dan moet je in onderstaande code 'id-van-je-selectbox' vervangen voor 'pindakaas' met enkele quotes.
Ik heb die if() gedeelte er even uitgelaten zodat je eerst kan zien of het werkt
Code (php)
1
onchange="var s = document.getElementById('id-van-je-selectbox'); document.getElementById('hoofd').src = s.options[s.selectedIndex].value;"
Ik heb die if() gedeelte er even uitgelaten zodat je eerst kan zien of het werkt
Gewijzigd op 22/07/2014 16:54:46 door Frank Nietbelangrijk
Op beide bovenstaande manieren laad hij de pagina niet meer.
Ik heb het voor het gemak even zo gemaakt:
Op deze manier werkt het wel maar wordt het dus in het verkeerde frame geladen:
Ik heb het voor het gemak even zo gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<select id=selectbox onchange="var s = document.getElementById('selectbox'); document.getElementById('hoofd').src = s.options[s.selectedIndex].value;"
size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
<option>Selecteer een optie</option>
<option value="/accountnamen.php">Optie1</option>
<option value="/accountnamen.php">Optie2</option>
<option value="/accountnamen.php">Optie3</option>
</select>
size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
<option>Selecteer een optie</option>
<option value="/accountnamen.php">Optie1</option>
<option value="/accountnamen.php">Optie2</option>
<option value="/accountnamen.php">Optie3</option>
</select>
Op deze manier werkt het wel maar wordt het dus in het verkeerde frame geladen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<td>
<select onchange="if(selectedIndex != 0) location = options[selectedIndex].value;"
size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
<option>Selecteer een optie</option>
<option value="/accountnamen.php">Optie1</option>
<option value="/accountnamen.php">Optie2</option>
<option value="/accountnamen.php">Optie3</option>
</select>
</td>
<select onchange="if(selectedIndex != 0) location = options[selectedIndex].value;"
size="17"
style="height:40px;width: 125px; font-size: 10px; font-family: verdana, arial; border: none; color: #DDDDDD; line-height: 15px; background-color:#3e3e3e;">
<option>Selecteer een optie</option>
<option value="/accountnamen.php">Optie1</option>
<option value="/accountnamen.php">Optie2</option>
<option value="/accountnamen.php">Optie3</option>
</select>
</td>
Gewijzigd op 23/07/2014 10:31:22 door Manuel Van den hoogaard
Het formulier:
<form id="form" target="hoofd" method="post" action="hoofd.php">
<select name="naam" onchange="document.getElementById('form').submit();">
En in hoofd.php:
?>
<form id="form" target="hoofd" method="post" action="hoofd.php">
<select name="naam" onchange="document.getElementById('form').submit();">
En in hoofd.php:
?>




