/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
javascript - function not defined - proble~
Fra : Lone


Dato : 10-09-04 21:06

Hej

Jeg er temmelig ny i javascript og har døjet med følgende fejl et stykke
tid...

På min side har jeg et billede og to links - previous og next. Det er
meningen at det skal være muligt at bladre i mellem nogle billeder, som jeg
placerer i et array. Billederne ligger i en folder på serveren og jeg henter
filnavnene ned i arrayet fra en folder, som jeg angiver i koden.
Når jeg trykker på hhv. Previous og Next får jeg en 'Object expected' fejl
samt besked om at nextPicture og previousPicture ikke er definerede.

Koden kan ses nedenfor:

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<%
function previousPicture(){
if(picNumber > 1){
picNumber--
}
document.myPicture.src=picture[picNumber-1]
}

function nextPicture(){
if(picNumber < numberOfPics){
picNumber++
}
document.myPicture.src=picture[picNumber-1]
}

function CreateArray() {
var _picture = new Array();
var numberOfPics=0;

var tmpString = new String();
var oFSO = Server.CreateObject('Scripting.FileSystemObject');
var oFolder =
oFSO.GetFolder(Server.MapPath('/folder_to_look_for_files/'));

// create enumerator
var eFile = new Enumerator ( oFolder.Files );

while ( !eFile.atEnd ( ) )
{
var oFile = eFile.item ( );
var sName = oFile.Name;

// skip test files (start with _), and non-asp files
//if ( sName.charAt ( 0 ) == '_' || -1 == sName.indexOf ( '.jpg' ) )
// return;

tmpString = tmpString + sName + ",";

eFile.moveNext ( );
}
tmpString = tmpString.substring(0, tmpString.length-1);

_picture = tmpString.split(',');
return _picture;
}

Response.Write ("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01
Transitional//EN' '");'>http://www.w3.org/TR/html4/loose.dtd'>");
Response.Write ("<html><head><title>MyTitle</title><meta
http-equiv='Content-Type' content='text/html; charset=iso-8859-1'></head>");
Response.Write ("<body>");

var picture = new Array();
picture = CreateArray();
var picNumber = 1;
var numberOfPics = picture.length;

Response.Write ("<h3>Lidt tekst...</h3><p>&nbsp;</p>");
Response.Write ("<IMG src='1.jpg' name='myPicture' width=250,
height=187><BR>");
Response.Write ("<A
href='javascript:previousPicture()'>Previous</A>&nbsp;&nbsp;");
Response.Write ("<A
href='javascript:nextPicture()'>Next</A><p>&nbsp;</p>");
Response.Write ("</body></html>");
%>

Håber der er en der kan hjælpe mig her!

På forhånd tak.

Lone



--
Husk at fjerne "FJERN" fra min mail adresse.



 
 
Jonas Schmeltz Aaber~ (10-09-2004)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 10-09-04 22:21

> På min side har jeg et billede og to links - previous og next. Det er
> meningen at det skal være muligt at bladre i mellem nogle billeder, som
jeg
> placerer i et array. Billederne ligger i en folder på serveren og jeg
henter
> filnavnene ned i arrayet fra en folder, som jeg angiver i koden.
> Når jeg trykker på hhv. Previous og Next får jeg en 'Object expected' fejl
> samt besked om at nextPicture og previousPicture ikke er definerede.
>
> Koden kan ses nedenfor:
>
> <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
> <%
> function previousPicture(){
> if(picNumber > 1){
> picNumber--
> }
> document.myPicture.src=picture[picNumber-1]
> }
>
> function nextPicture(){
> if(picNumber < numberOfPics){
> picNumber++
> }
> document.myPicture.src=picture[picNumber-1]
> }
>
> function CreateArray() {
> var _picture = new Array();
> var numberOfPics=0;
>
> var tmpString = new String();
> var oFSO = Server.CreateObject('Scripting.FileSystemObject');
> var oFolder =
> oFSO.GetFolder(Server.MapPath('/folder_to_look_for_files/'));
>
> // create enumerator
> var eFile = new Enumerator ( oFolder.Files );
>
> while ( !eFile.atEnd ( ) )
> {
> var oFile = eFile.item ( );
> var sName = oFile.Name;
>
> // skip test files (start with _), and non-asp files
> //if ( sName.charAt ( 0 ) == '_' || -1 == sName.indexOf ( '.jpg' ) )
> // return;
>
> tmpString = tmpString + sName + ",";
>
> eFile.moveNext ( );
> }
> tmpString = tmpString.substring(0, tmpString.length-1);
>
> _picture = tmpString.split(',');
> return _picture;
> }
>
> Response.Write ("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01
> Transitional//EN' '");'>http://www.w3.org/TR/html4/loose.dtd'>");
> Response.Write ("<html><head><title>MyTitle</title><meta
> http-equiv='Content-Type' content='text/html;
charset=iso-8859-1'></head>");
> Response.Write ("<body>");
>
> var picture = new Array();
> picture = CreateArray();
> var picNumber = 1;
> var numberOfPics = picture.length;
>
> Response.Write ("<h3>Lidt tekst...</h3><p>&nbsp;</p>");
> Response.Write ("<IMG src='1.jpg' name='myPicture' width=250,
> height=187><BR>");
> Response.Write ("<A
> href='javascript:previousPicture()'>Previous</A>&nbsp;&nbsp;");
> Response.Write ("<A
> href='javascript:nextPicture()'>Next</A><p>&nbsp;</p>");
> Response.Write ("</body></html>");
> %>
>
> Håber der er en der kan hjælpe mig her!

Ja, du kan ikke blande client- og serverbaseret JavaScript (som du anvender
i ASP-koden) og dele funktioner der imellem.
Prøv at kigge i kildekoden når siden er blevet eksekveret på serveren - du
ser ingen JavaScript, vel?

Jeg ville lave arrayet af filer i server-VBScript (ASP) og skrive det som
klient-JavaScript, og så få al afvikling derefter til at foregå på
klient-JavaScript.

Spørg evt. i dk.edb.internet.webdesign.serverside.asp for at få gode tips
til hvordan det skal gribes an.

Håber du kan bruge det til at bygge videre på!

MVH Jonas (aka Juke)



Lone (11-09-2004)
Kommentar
Fra : Lone


Dato : 11-09-04 09:55

Hej Jonas
Tak for det hurtige svar. Jeg kan godt se at jeg har rodet lidt rundt i det,
men jeg har løst problemet nu.
Tak for hjælpen.
mvh Lone

"Jonas Schmeltz Aaberg" <julledyret@hotmail.com> wrote in message
news:41421a95$0$209$14726298@news.sunsite.dk...
>> På min side har jeg et billede og to links - previous og next. Det er
>> meningen at det skal være muligt at bladre i mellem nogle billeder, som
> jeg
>> placerer i et array. Billederne ligger i en folder på serveren og jeg
> henter
>> filnavnene ned i arrayet fra en folder, som jeg angiver i koden.
>> Når jeg trykker på hhv. Previous og Next får jeg en 'Object expected'
>> fejl
>> samt besked om at nextPicture og previousPicture ikke er definerede.
>>
>> Koden kan ses nedenfor:
>>
>> <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
>> <%
>> function previousPicture(){
>> if(picNumber > 1){
>> picNumber--
>> }
>> document.myPicture.src=picture[picNumber-1]
>> }
>>
>> function nextPicture(){
>> if(picNumber < numberOfPics){
>> picNumber++
>> }
>> document.myPicture.src=picture[picNumber-1]
>> }
>>
>> function CreateArray() {
>> var _picture = new Array();
>> var numberOfPics=0;
>>
>> var tmpString = new String();
>> var oFSO = Server.CreateObject('Scripting.FileSystemObject');
>> var oFolder =
>> oFSO.GetFolder(Server.MapPath('/folder_to_look_for_files/'));
>>
>> // create enumerator
>> var eFile = new Enumerator ( oFolder.Files );
>>
>> while ( !eFile.atEnd ( ) )
>> {
>> var oFile = eFile.item ( );
>> var sName = oFile.Name;
>>
>> // skip test files (start with _), and non-asp files
>> //if ( sName.charAt ( 0 ) == '_' || -1 == sName.indexOf ( '.jpg' ) )
>> // return;
>>
>> tmpString = tmpString + sName + ",";
>>
>> eFile.moveNext ( );
>> }
>> tmpString = tmpString.substring(0, tmpString.length-1);
>>
>> _picture = tmpString.split(',');
>> return _picture;
>> }
>>
>> Response.Write ("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01
>> Transitional//EN' '");'>http://www.w3.org/TR/html4/loose.dtd'>");
>> Response.Write ("<html><head><title>MyTitle</title><meta
>> http-equiv='Content-Type' content='text/html;
> charset=iso-8859-1'></head>");
>> Response.Write ("<body>");
>>
>> var picture = new Array();
>> picture = CreateArray();
>> var picNumber = 1;
>> var numberOfPics = picture.length;
>>
>> Response.Write ("<h3>Lidt tekst...</h3><p>&nbsp;</p>");
>> Response.Write ("<IMG src='1.jpg' name='myPicture' width=250,
>> height=187><BR>");
>> Response.Write ("<A
>> href='javascript:previousPicture()'>Previous</A>&nbsp;&nbsp;");
>> Response.Write ("<A
>> href='javascript:nextPicture()'>Next</A><p>&nbsp;</p>");
>> Response.Write ("</body></html>");
>> %>
>>
>> Håber der er en der kan hjælpe mig her!
>
> Ja, du kan ikke blande client- og serverbaseret JavaScript (som du
> anvender
> i ASP-koden) og dele funktioner der imellem.
> Prøv at kigge i kildekoden når siden er blevet eksekveret på serveren - du
> ser ingen JavaScript, vel?
>
> Jeg ville lave arrayet af filer i server-VBScript (ASP) og skrive det som
> klient-JavaScript, og så få al afvikling derefter til at foregå på
> klient-JavaScript.
>
> Spørg evt. i dk.edb.internet.webdesign.serverside.asp for at få gode tips
> til hvordan det skal gribes an.
>
> Håber du kan bruge det til at bygge videre på!
>
> MVH Jonas (aka Juke)
>
>



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408521
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste