Stel! Ik heb een functie. Die functie doe ik in een JavaScript bestandje. Dat JavaScript bestandje gebruik ik op een pagina. Ik heb nog een JavaScript bestandje met een functie erin die gebruik maakt van de functie in het andere bestandje. Beiden gebruik ik op één pagina. Maar het werkt niet??
vreemd

post eens de headers van je pagina
<html><head>
<script type="text/javascript" src="a.js"></script>
<script type="text/javascript" src="b.js"></script>
</head><body>

</body></html>

Als een functie uit b.js een functie uit a.js wilt gebruiken moet dat toch lukken?
@ Sebastiaan:
Je hebt het over een functie uit b.js die een functie uit a wil gebruiken, heb je al geprobeerd rechtstreeks een functie uit a.js te gebruiken? Als dat niet werkt, kan je blijkbaar maar 1 .js bestand per pagina gebruiken, of er moet een andere manier zijn.
Ja, dat moet kunnen. Zoiets doe ik heel vaak.
Sebastiaan schreef op 05.01.2006 22:43
<html><head>
<script type="text/javascript" src="s.js"></script>
<script type="text/javascript" src="b.js"></script>
</head><body>

</body></html>

Als een functie uit b.js een functie uit a.js wilt gebruiken moet dat toch lukken?

* Laat maar, is hypotetisch he.. je stelt dat:...

In a.js heb ik dit staan:
//Typt sneller
function obj(id) {
return document.getElementById(id);
}

in b.js dit:
function doalert() { alert(obj('mydivide').innerHTML); }

Als ik dan met een button doalert() activeert, geef de VuurVos aan dat obj() niet bestaat!

EDIT: Sh*t. Typo op m'n site. Sinds de verandering van php naar asp typte ik m'n extensies af en toe nog steeds als '.php' ipv '.asp'.

Maar ik heb nog een vraag! Waarom keurt FireFox htmlentities in JavaScript af (in javascript direct op de pagina)? Ik krijg dan xml parse fouten, maar als ik van de < in mij for() loop een &lt; maak, doet m'n pagina het wel. En het for() loopje doet het dan als verwacht?
Even uitgeprobeerd: mijn testopstelling. Werkt het prima.

Maar weet je zeker dat je a.js (dus functiedefinitie van obj()) inlaadt voordat je doalert() uitvoert?

En als antwoord op vraag 2: Het is toch niet logisch dat je een taal die direct uitgevoerd moet worden schrijft alsof hij voor het menselijk oog is? In PHP gebruik je ook geen if(100 char(zoveel)= 100)?
Als je probleem de validator is, gebruik dan zo:
<script type="e.d.">
// <![CDATA[

Doe dan hier wat je maar wil

]]>//
</script>
Ik had dat probleem ook. Had het ook op die manier opgelost dacht ik.
En anders met <!-- Mijn JS -->

Edit: Heb het helemaal niet opgelost :P Heb er gewoon een extern bestand van gemaakt..
@Jelmer: Beide, Validator en FireFox maken er een probleem van. En vraag 1 was al opgelost ;)

Ik kan het zover ik weet niet makkelijker oplossen dan een extern bestand ervan te maken.

Reageren