Hallo !

Ik heb een 'klein' probleempje met mijn foto-album :) .
Hij werkt goed in IE en Opera, maar in FireFox slaat hij de bal helemaal mis !

Dit is wat ik heb:

album.php

<?

// Output... + uit DB halen van photos

            echo "<DIV CLASS=\"clAlbum\" ALIGN=\"center\" VALIGN=\"MIDDLE\">
                <IMG SRC=\"upload/photos/" . $Photos['0']['id'] . "." . $Photos['0']['Extension'] . "\" NAME=\"Photo\" BORDER=\"1\" BORDER-COLOR=\"black\">
            </DIV>
            <DIV ALIGN=\"center\">
                <INPUT TYPE=\"button\" VALUE=\"<<\" ONCLICK=\"Javascript:prevphoto()\">
                <SELECT ID=\"photolist\" ONCHANGE=\"Javascript:changephoto()\">

        ";

        for($i = 0; $i < count($Photos); $i++)
        {
            echo "<OPTION VALUE=\"upload/photos/" . $Photos[$i]['id'] . "." . $Photos[$i]['Extension'] . "\">" . $Photos[$i]['Name'] . "</OPTION>";
        }

        echo "
                </SELECT>
                <INPUT TYPE=\"button\" VALUE=\">>\" ONCLICK=\"Javascript:nextphoto()\">
            </DIV>
        ";

// Verdere output
?>


jscript.inc.php

<SCRIPT TYPE="text/javascript">  
function photo(a)
{
    if(nr)
    {
        a.innerHTML= "<IMG SRC='upload/photos/"+photos[nr]+"'>";
        nr++;
    }
    else
    {
        nr = 1;
        a.innerHTML= "<IMG SRC='upload/photos/"+photos[0]+"'>";
    }
}

function changephoto()
{
  Photo.src = photolist.options[photolist.selectedIndex].value;
}

function prevphoto()
{
	if(photolist.selectedIndex == 0)
	{
		photolist.selectedIndex = photolist.options.length-1;
	}
	else
	{
		photolist.selectedIndex--;
	}
	prevphoto();
}

function nextphoto()
{
	if(photolist.selectedIndex == photolist.options.length-1)
	{
		photolist.selectedIndex = 0;
	}
	else
	{
		photolist.selectedIndex++;
	}
	changephoto();
}
</SCRIPT>


Het is een hele brok :) Maar het werkt heel simpel:
We hebben een dropdown-boxje waarin de 'paden naar de foto's' als VALUE zijn meegegeven. Bij het veranderen van die dropdown zal hij de foto veranderen bij de afbeelding met de naam 'Photo'...

Beetje moeilijk uit te leggen :) . Hij werkt dus in IE en Opera, maar in FF geeft hij als fout: photolist is not defined. Terwijl dat wel degelijk zo is !

Mvg,
Ponzi
hoe kun je nu ooit dit in je php-borncode hebben staan:


<DIV CLASS=
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /opt/users/k/kregeler/www.phphulp.nl/cfgs/ubbparser/bbcode.class.php on line 472
Geen idee, is niets van mij

Staat ook 'www.phphulp.nl' in :) Zal wel ergens een foutje hier op deze site zijn ;) !
Hij bedoelt niet de error maar dit
<?php
<DIV CLASS=.....................>
?>
<DIV CLASS="clAlbum" ALIGN="center" VALIGN="MIDDLE">

zo er moeten staan
Btw, ik verwacht wel dat je daar echo voor moet zetten, anders wordt er niet veel geschreven denk ik....
Ja :) Sorry, verkeerd overgenomen van mijn script ;) .

Maar weet iemand nu wat er aan mijn Javascript ofzo scheelt? :)
Nou, om te beginnen zou ik je javascript afsluiten door </script> te gebruiken, en niet <script>
Ja :) Eih Kerel :P Als ge me pissed off wilt krijgen moet ge zo door doen :P .. Neenee, is nix maar dat is door het verkeerd overnemen en snel typen ;) .

Het vreemde aan het hele verhaal is, dat als ik heel dit gedeelte in html omzet en in een .HTML-file zet dat het naadloos werkt :S . Enkel in mijn site marcheert het niet :( !
Het komt door de manier waarop je het DOM benadert. Als je een pagina-element hebt met bijvoorbeeld id="elem1" dan mag je van IE gewoon dit doen in je JavaScript:

elem1.innerHTML = 'blabla';

FF eist dat je het DOM correct benadert en daar hoor je het dus zo te doen (werkt ook in IE en Opera)

document.getElementById('elem1').innerHTML = 'blabla';

wil je dat je code ook voor oudere browsers goed werkt dan zul je hem nog verder moeten uitbreiden. Deze manier werkt in ieder geval voor moderne browsers goed.
Sorry Jan, maar het werkt nog steeds niet :(

In IE en Opera blijft het inderdaad met jouw methode werken... maar FF blijft moeilijk doen !

Edit: Trouwens

Er staat een werkende versie van dit script op mijn oude blog. Daar is het wel nog volledig in het Nederlands. Maar hij werkt wel in FF !

Linkje: Klikkie !

Reageren