Jag har lite problem med att skriva ut värde från en funktion som ligger i en .js fil.
function myFunc(sName)
{
if(blabla)
{
//lite kod
return retVal;
}
return null;
}
om jag i själva .js filen skriver
newVal = myFunc(argv)
alert(newVal);
så går det bra, men om jag gör samma sak från sidan som inkluderar .js filen så fungerar det inte. Vad gör jag för fel? Finns någon call funktion eller liknande i Javascript?
Enda sättet jag hämtar värden från .js filen just är genom att skriva
och sen gör jag en submit från .js filen till sidan som gjorde anropet. Men det är ju lite omständigt, och jag trodde att man borde kunna få fram returvärde direkt från en funktion som ligger i en .js fil. Någon som förstod vad jag menade och kan dela med sig av hur ni brukar göra...? :)
Om ovanstående var oklart förklarar jag gärna igen.
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
Lägg ingen kod i scriptblocket när du inkluderar externa javascript. Den kod som ligger i script-blocket är tanken att det skall exekveras om js-filen inte hittas. Alltså, använd 2 script-block.
När du inkluderar filer får du tänka på att det kan bli timing-problem. Är du säker på att js-filen är laddad när du anropar funktioner från den? Använd onLoad i body-taggen för att trigga scriptet när sidan är laddad.
Lägg ingen kod i scriptblocket när du inkluderar externa javascript.
Du menar alltså att kod som ligger innanför
<script src="test.js" language=...>
</script>
endast får användas för att anropa funktioner som ligger i .js filen? Vill jag sen köra annat, typ alert, document.write("blabla") så ska jag lägga det i ett vanligt <script> block som inte refererar en .js fil?
Timing-problem..? Hmm.. det tror jag inte... sidan fungear alltså bra om jag kör .js filen för sig och skickar tillbaka parametrar från .js filen... m.a.o. den (borde) vara laddad när sidan körs.
"Problemet" är när jag vill få returvärden från den inbäddade funktionen genom att anropa den från sidan. Då händer ingenting.
Annars kan jag ju skippa .js filen och kopiera in den i HTML sidan, för då fungerar ju alla anrop, men då försvinner ju lite granna av det fina med det hela :)
Tack för din input! :) Jag ska testa lite till.. kanske kommer på nåt..
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
heheh.. okay.. drabbades väl av tillfällig (? :) ) sinnesförvirring igårkväll.. funderarde på det som Jojoxx sa, och kom på att man ju får returvärdet genom att just lägga funktionsanrop i ett vanligt skript block SAMTIDIGT som man på samma sida har ett tomt script block som inkluderar .js filen.
(Jag trodde att allt som hade med funktionerna i .js filen måste ligga inom script blocket som inkluderar .js filen, men så var det ju inte! )
Tack tipset Jojoxx :)
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
278 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2