JS na PHPinclude

Status
Niet open voor verdere reacties.

RobMan

Gebruiker
Lid geworden
3 okt 2007
Berichten
126
Ik heb een zeer beperkte kennis van JavaScript en PHP maar ik heb ook niet zoveel nodig. Ik loop echter tegen een klein probleem aan.

Met behulp van een PHPinclude voeg ik in mijn body een menu toe. Na dit menu geladen is wil ik met behulp van een externe JSfunctie
Code:
boldElement (xx)
{
document.getElementById(xx).style.font-weight = "bold"
}
per pagina een ander woord in het menu bold maken. Ik wil dus dat die externe functie pas zijn werk doet nadat de PHPinclude is geweest. Wanneer ik de functie via een <body onLoad="boldElement('xx')"> aanroep draait de functie al voordat de PHPinclude is geweest en kan het deel van het menu niet bold gemaakt worden.
Hoe kan ik deze functie automatisch aanroepen bij het laden van de pagina ná de PHPinclude?
 
Wanneer ik de functie via een <body onLoad="boldElement('xx')"> aanroep draait de functie al voordat de PHPinclude is geweest

Dit kan niet kloppen, PHP en Javascript doen namelijk totaal iets anders. PHP draait op de server. PHP zet als het ware het HTML bestand in elkaar. Dat HTML bestand wordt vervolgens naar de gebruiker gestuurd en daar wordt Javascript uitgevoerd.

Doordat de output van een PHP script meteen verstuurd wordt is het mogelijk om Javascript uit te voeren voordat het PHP script klaar is maar niet als je de code in het onload event laat uitvoeren, want het onload event wordt pas gevuurd als de complete pagina geladen is. Het PHP script is dan al klaar.

Ik weet niet wat het probleem wel is maar je kunt hier veel beter PHP voor gebruiken. Zorg er in je menu.php (of i/d) voor dat het goede item al bold is. Als je je volledige php/html bestanden laat zien kunnen we je daar bij helpen.
 
Ah oke, ik snap wat je bedoelt.
Ik ga wel even testen en kijken of er misschien ergens iets fout gaat bij mijn code. Klopt alles wat ik gemaakt heb dan kom ik hier naar terug!
 
Ha, ik heb toch een klein foutje ontdekt die het probleem veroorzaakt. Ik gebruikte in de functie de CSS property font-weight maar JavaScript kan die niet aan en de oplossing daarvoor is fontWeight

Dus
Code:
boldElement (xx)
{
document.getElementById(xx).style.[B]fontWeight[/B] = "bold"
}
i.p.v.
Code:
boldElement (xx)
{
document.getElementById(xx).style.[B]font-weight[/B] = "bold"
}

Thanks:thumb:
 
Laatst bewerkt:
Tja, dat had ik moeten zien :confused:

Maar dat neemt niet weg dat het alsnog beter via PHP kan. PHP is veel betrouwbaarder dan Javascript.
 
Ik weet het :) maar ik heb totaal geen ervaring met PHP. De include bijvoorbeeld heb ik gewoon van internet gekopieerd en alleen de bestandsnaam veranderd. Daarbij is het menu gewoon een blok HTML en geen PHP dus zoveel kan er ook niet door PHP gedaan worden. Ik geef gewoon elk item zijn eigen ID en laat het respectievelijke item door JS bold maken.
Zover gaat mijn kennis van JS en PHP dus meer wordt alleen maar moeilijk helaas :confused:
 
Ok, maar mocht je het toch willen proberen dan willen wij je er graag mee helpen :thumb:
 
Bedankt voor het aanbod maar ik ben bang dat het dan ver boven mijn PHP kennis komt en ik zelfs niet meer kan aanpassen/veranderen zonder hulp van anderen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan