If - else met frames
Ik wil graag via if/else een bepaalde tekst weergeven.
Als in het frame 'bas' de pagina music.php staat, dan wil ik dat er staat: music off.
Als in het frame 'bas' de pagina music2.php staat, dan wil ik dat er staat:
music on
Weet iemand of dit mogelijk is??
Op de pagina checken wat er in _FILE_ zit.
Dit is index.php
<frameset rows="*,1" cols="*" border="0" framespacing="0" frameborder="NO" noresize>
<frame src="transportation_and_cost.php" marginwidth="0" marginheight="0" scrolling="yes" noresize>
<frame name="bas" src="music.php" marginwidth="0" marginheight="0" scrolling="NO" noresize>
</frameset>
<noframes>
en dit is transportation_and_cost.php:
<div id="muziek"><a href="music2.php" target="bas">Music off</a></div>
<div id="muziek"><a href="music.php" target="bas">Music on</a></div>
Gewijzigd op 01/01/1970 01:00:00 door Anne
Ik snap het probleem niet. Als iemand op die link klikt dan weet je toch al welke pagina er gaat komen.
Nu staat zowel 'Music off' als 'Music on' op de website. Als de muziek aan is, moet alleen 'Music off' worden weergegeven en als de muziek uit is, moet alleen 'Music on' worden weergegeven.
Ik wil nu dus kijken welke pagina er in het frame zit. Music.php, dan is de muziek aan, als music2.php in het frame zit, is de muziek uit.
Afhankelijk daarvan geef ik dus óf 'Music off' óf 'Music on' weer.
Sorry, maar daar snap ik niet echt veel van...
Quote:
Try
window.parent.<name of the frame>.functionName();
Here is sample code.
top.htm (The html file containing frameset)
<html>
<frameset rows="250,*">
<frame id="fm1" name="fm1" src="fm1.htm"></frame>
<frame id="fm2" name="fm2" src="fm2.htm"></frame>
</frameset>
</html>
File fm1.htm:
<html>
<head>
<script language="JavaScript">
function fmf1() {
alert ("This is frame 1");
}
</script>
<body>
This is frame 1
</body>
</html>
File fm2.htm
<html><body
onLoad="window.parent.fm1.fmf1();">
This is frame 2
</body>
</html>
Yahoo Answers is not showing the onLoad line correctly. Replace three dots with an opening brace "(", a closing brace ")" and a semicolon ";".
Hope it helps.
window.parent.<name of the frame>.functionName();
Here is sample code.
top.htm (The html file containing frameset)
<html>
<frameset rows="250,*">
<frame id="fm1" name="fm1" src="fm1.htm"></frame>
<frame id="fm2" name="fm2" src="fm2.htm"></frame>
</frameset>
</html>
File fm1.htm:
<html>
<head>
<script language="JavaScript">
function fmf1() {
alert ("This is frame 1");
}
</script>
<body>
This is frame 1
</body>
</html>
File fm2.htm
<html><body
onLoad="window.parent.fm1.fmf1();">
This is frame 2
</body>
</html>
Yahoo Answers is not showing the onLoad line correctly. Replace three dots with an opening brace "(", a closing brace ")" and a semicolon ";".
Hope it helps.
Edit:
bron: http://answers.yahoo.com/question/index?qid=20070401191205AACkg9B
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
En dan in deze vorm:
if (cijfer 2 in index.php) {
echo 'Music on';
}
else
echo 'Music off';
}
als je bas hebt dan doe je het uit, ook al is ie uit
en als je dat andere pagina hebt doe je het aan
of kan dat nu in jou geval niet?
File fm1.htm:
<html>
<head>
<script language="JavaScript">
function aan() {
alert ("Aan");
}
function uit() {
alert ("Uit");
}
</script>
<body>
This is frame 1
</body>
</html>
File aan.htm
<html><a href="#" onclick="window.parent.fm1.aan();">
Aan</a>
<a href="#" onclick="window.parent.fm1.uit();">
uit</a>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
SanThe schreef op 15.03.2009 15:07:
Ik snap het probleem niet. Als iemand op die link klikt dan weet je toch al welke pagina er gaat komen.
Als het cijfer 2 niet voorkomt in index.php, duidt dat erop dat er music.php in het frame staat. Ik laat dan dus alleen de uit knop zien.
Iemand enig idee hoe ik de inhoud van het bestand index.php op deze manier kan checken?
SanThe schreef op 15.03.2009 15:30:
Dat hoef je toch niet te controleren. Je hebt zelf dat bestand gemaakt dus je weet of het er in staat of niet.
SanThe schreef op 15.03.2009 15:07:
Ik snap het probleem niet. Als iemand op die link klikt dan weet je toch al welke pagina er gaat komen.
Lol, Santhe je hoeft niet op je eigen bericht te reageren xD ziet er best wel lomp uit anders
Edit:
ik snap je probleem
dat doe je zo:
File fm1.htm:
<html>
<head>
<script language="JavaScript">
function aan() {
check('aan');
alert ("Aan");
}
function uit() {
check('uit');
alert ("Uit");
}
function check($var) {
window.parent.aan.funcc($var);
}
</script>
<body>
This is frame 1
</body>
</html>
File aan.htm
<html>
<script>
function funcc($var) {
document.getHtmlbyid('check') = $var;
}
</script>
<div id="check"> </div>
<a href="#" onclick="window.parent.fm1.aan();">
Aan</a>
<a href="#" onclick="window.parent.fm1.uit();">
uit</a>
</body>
</html>
En dan nog uitbouwen..
ik weet eigenlijk niet eens of ie het foutloos zal werken.
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
En op die andere pagina's
en
@santhe, jouwn code is natuurlijk handiger i.v.m. mensen die geen js aan hebben staan.
Gewijzigd op 01/01/1970 01:00:00 door Anne
als het aan mij is gesteld: aan.php is dan bas.php en muziek.php dat enne fm1.php.
plaats effe een reactie als het werkt :P
Ik gebruik nu de manier van SanThe, maar nu heb ik het probleem dat mijn pagina moet refreshen wil ik de verandering weergeven.
Als ik op 'Music on' klik, moet er dus 'Music off' komen te staan en andersom. Dit alles het liefst zonder de pagina in zn geheel te moeten refreshen (t is namelijk een grote pagin)...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
session_start();
$_SESSION['play'] = (isset($_SESSION['play'])) ? $_SESSION['play'] : 'off';
$_SESSION['play'] = (isset($_GET['play'])) ? $_GET['play'] : $_SESSION['play'];
if($_SESSION['play'] == 'on')
{
echo '<div id="muziek"><a href="test3.php" target="onder" onclick="window.open(\'test1.php?play=off\', \'boven\')">Music off</a></div>';
}
else
{
echo '<div id="muziek"><a href="test2.php" target="onder" onclick="window.open(\'test1.php?play=on\', \'boven\')">Music on</a></div>';
}
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
session_start();
$_SESSION['play'] = (isset($_SESSION['play'])) ? $_SESSION['play'] : 'off';
$_SESSION['play'] = (isset($_GET['play'])) ? $_GET['play'] : $_SESSION['play'];
if($_SESSION['play'] == 'on')
{
echo '<div id="muziek"><a href="test3.php" target="onder" onclick="window.open(\'test1.php?play=off\', \'boven\')">Music off</a></div>';
}
else
{
echo '<div id="muziek"><a href="test2.php" target="onder" onclick="window.open(\'test1.php?play=on\', \'boven\')">Music on</a></div>';
}
?>
Getest en werkt.
Wel even de filenames en targets aanpassen.
onclick="window.open(\'test1.php?play=on\', \'boven\')">
wat moet ik i.p.v. test1.php invullen en wat i.p.v. boven??
Alvast weer bedankt!