Probleem met Frame laden
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 ?
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
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;">
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:
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>
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)
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
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
<form id="form" target="hoofd" method="post" action="hoofd.php">
<select name="naam" onchange="document.getElementById('form').submit();">
En in hoofd.php:
?>