Avatar billede Slawomir Seniormester
03. februar 2004 - 12:17 Der er 11 kommentarer og
2 løsninger

Jeg får en fejlmeddelelse

Hej igen

jeg kan ikke få denne til at virke, er der nogen der kan fortælle mig hvad jeg har gjordt forkert?

<HTML>
<HEAD>
<TITLE> En evighedskalender… </TITLE>
</HEAD>

<BODY>
<FONT FACE=’Verdana’ SIZE=”4”>

<SCRIPT LANGEAGE = “JAVASCRIPT”>

Ugedag = new Array;
Ugedag[0]=(“Søn”); Ugedag[1]=(”Man”);
Ugedag[2]=(”Tirs”); Ugedag[3]=(”Ons”);
Ugedag[4]=(”Tors”); Ugedag[5]=(Fre”);
Ugedag[6]=(”Lør”);

MaanedsNavn = new Array;
MaanedsNavn[0]=”Januar”;
MaanedsNavn[1]=”Februar”;
MaanedsNavn[2]=”Marts”; MaanedsNavn[3]=”April”;
MaanedsNavn[4]=”Maj”; MaanedsNavn[5]=”Juni”;
MaanedsNavn[6]=”Juli”; MaanedsNavn[7]=”August”;
MaanedsNavn[8]=”Septamber”;
MaanedsNavn[9]=”Oktorber”;
MaanedsNavn[10]=”November”;
MaanedsNavn[11]=”December”;

MaanedsLgd = new Array;
MaanedsLgd[0]=31; MaanedsLgd[1]=28;
MaanedsLgd[2]=31; MaanedsLgd[3]=30;
MaanedsLgd[4]=31; MaanedsLgd[5]=30;
MaanedsLgd[6]=31; MaanedsLgd[7]=31;
MaanedsLgd[8]=30; MaanedsLgd[9]=31;
MaanedsLgd[10]=30; MaanedsLgd[11]=31;

Vis Maaned = 1;VisAar = 2003;
AktuelLgd=MaanedsLgd[VisMaaned-1];
today= new Date(VisAar, VisMaaned-1, 1);
Dag=today.getDay();
FoersteDag = Dag+1;

document.write(”<TABLE BORDER=19><TR>”);

document.write(”<TD COLSPAN=7 ALIGN=center>
<B>”+MaanedsNavn [VisMaaned-1] +” “ + VisAar +”</B> </TG>”);
document.write(”<TR>);
for (i=0;i<7;i++>{
document.write(”<TD ALIGN=center
WIDTH=40><B>”+Ugedag[i]0”</B></TD>”);}

document.write(”</TR><TR>”);
for (i=1;i<FoersteDag;i=i+1);{
document.write(”<TD></TD>”);}

Dag2=1;
For (var i=FoersteDag;i<8;i=i+1){
document.write(”<TD ALIGN=center>” +
Dag2+”</TD>”);
Dag2=Dag2+1;}

document.write(“</TR><TR>”);

while (Dag2 <= AktuelLgd) {
for (i=1;i<=7 && Dag2<=AktuelLgd;i=i+1){
document.write(”<TD ALIGN=center>”+Dag2+”</TD>”)
Dag2=Dag2+1}

document.write(”</TR>”); }
document.write(”</TABLE>”);
</SCRIPT>
</BODY>
</HTML>
Avatar billede nute Nybegynder
03. februar 2004 - 12:36 #1
du skal til at kontrollere din staving ... i dit scripttag har du attributten 'LANGEAGE' ... det hedder 'LANGUAGE' ... med 'U', ikke 'E':

<SCRIPT LANGUAGE = “JAVASCRIPT”>

en anden ting, er at du skal huske at afslutte og starte strenger korrekt:

Ugedag[5]=(Fre”);

skal være

Ugedag[5]=("Fre");

og

document.write("<TR>);

skal være

document.write("<TR>");

en tredje ting, er at variabelnavn ikke kan indeholde mellemrum:

Vis Maaned = 1

skal være

VisMaaned = 1;

Du skal passe på at din kode har korrekt syntax:

for (i=0;i<7;i++>

skal være

for (i=0;i<7;i++) (afslut med ) og ikke > )

Javascript er case sensitive ...

For (var i=FoersteDag;i<8;i=i+1){

skal være

for (var i=FoersteDag;i<8;i=i+1){ // lille f - ikke stor F

/nute

PS! det er måske en idé at du lærer dig at debugge selv .. det er ikek første gang jeg har hjulpet dig med denne type ting ;-)
document.write("<TD ALIGN=center WIDTH=40><B>"+Ugedag[i]0"</B></TD>");}

(du kan ikke have et tal efter 'Ugedag[i]' ... det skal være +)

document.write("<TD ALIGN=center WIDTH=40><B>"+Ugedag[i]+"</B></TD>");}
skal
Avatar billede Slawomir Seniormester
03. februar 2004 - 12:57 #2
nej det er anden gang, du hjælp mig også igår med noget andet
jo men man skal jo starte et sted, jeg er også ved at læse en bog

er det mig der ikke har hørt efter hvad du sagde, eller. jeg kan stedvæk ikke få den til at virke

<HTML>
<HEAD>
<TITLE> En evighedskalender… </TITLE>
</HEAD>

<BODY>
<FONT FACE=’Verdana’ SIZE=”4”>

<SCRIPT LANGUAGE = “JAVASCRIPT” >

Ugedag = new Array;
Ugedag[0]=(“Søn”); Ugedag[1]=(”Man”);
Ugedag[2]=(”Tir”); Ugedag[3]=(”Ons”);
Ugedag[4]=(”Tor”); Ugedag[5]=("Fre”);
Ugedag[6]=(”Lør”);

MaanedsNavn = new Array;
MaanedsNavn[0]=”Januar”;
MaanedsNavn[1]=”Februar”;
MaanedsNavn[2]=”Marts”; MaanedsNavn[3]=”April”;
MaanedsNavn[4]=”Maj”; MaanedsNavn[5]=”Juni”;
MaanedsNavn[6]=”Juli”; MaanedsNavn[7]=”August”;
MaanedsNavn[8]=”Septamber”;
MaanedsNavn[9]=”Oktorber”;
MaanedsNavn[10]=”November”;
MaanedsNavn[11]=”December”;

MaanedsLgd = new Array;
MaanedsLgd[0]=31; MaanedsLgd[1]=28;
MaanedsLgd[2]=31; MaanedsLgd[3]=30;
MaanedsLgd[4]=31; MaanedsLgd[5]=30;
MaanedsLgd[6]=31; MaanedsLgd[7]=31;
MaanedsLgd[8]=30; MaanedsLgd[9]=31;
MaanedsLgd[10]=30; MaanedsLgd[11]=31;

Vis Maaned = 1;VisAar = 2003;
AktuelLgd=MaanedsLgd[VisMaaned-1];
today= new Date(VisAar, VisMaaned-1, 1);
Dag=today.getDay();
FoersteDag = Dag+1;

document.write(”<TABLE BORDER=19><TR>”);

document.write(”<TD COLSPAN=7 ALIGN=center>
<B>”+MaanedsNavn [VisMaaned-1] +” “ + VisAar +”</B> </TG>”);
document.write(”<TR>”);
for (i=0;i<7;i++){
document.write(”<TD ALIGN=center
WIDTH=40><B>”+Ugedag[i]+”</B></TD>”);}

document.write(”</TR><TR>”);
for (i=1;i<FoersteDag;i=i+1);{
document.write(”<TD></TD>”);}

Dag2=1;
for (var i=foersteDag;i<8;i=i+1){
document.write(”<TD ALIGN=center>” +
Dag2+”</TD>”);
Dag2=Dag2+1;}

document.write(“</TR><TR>”);

while (Dag2 <= AktuelLgd) {
for (i=1;i<=7 && Dag2<=AktuelLgd;i=i+1){
document.write(”<TD ALIGN=center>”+Dag2+”</TD>”)
Dag2=Dag2+1;}

document.write(”</TR>”); }
document.write(”</TABLE>”);
</SCRIPT>
</BODY>
</HTML>
Avatar billede grunken Nybegynder
03. februar 2004 - 13:06 #3
-og for din egen skyld burgerkonge, så lær at alt der står i et html-dokument, "skal" stå med små bogstaver, på denne måde er du osse langt mere fremtidssikret hvad angår de "nye" html-standarder :-)

sidst men ikke mindst så er language="javascript", en gammeldags måde at skrive det på, og det ikke gyldigt i nyere browsere:

så for at få alle med skal du helst bruge :

<script type="text/javascript" language="javascript">

og der er en masse der kan justeres i ovenstående script, og af disse ting påpeger nute klart de fleste :-)
Avatar billede nute Nybegynder
03. februar 2004 - 13:06 #4
hvad er det for nogle underlige "" du bruger ? det ligner noget fra Word.

kopier din kode ind i Notepad og se ... du får nogle sorte "prikker" der hvor dine "" skal være ... alle de sorte "prikker" skal erstattes med "ægte" gåseøjne

derefter mangler du at rette denne:

Vis Maaned = 1;

til denne

VisMaaned = 1;

fjern linjeskiftet i disse:

document.write("<TD COLSPAN=7 ALIGN=center>
<B>"+MaanedsNavn [VisMaaned-1] +" " + VisAar +"</B> </TG>");
og
document.write("<TD ALIGN=center
WIDTH=40><B>"+Ugedag[i]+"</B></TD>");}

igen ... javascript er CASE SENSITIVE !!! der er forskel på store og små bokstaver ... se på denne konstruktion:

for (var i=foersteDag;i<8;i=i+1){

du har tidligere oprettet en variabel der hedder 'FoersteDag' ... stor første bokstav ... så skal du også have stor første bokstav i denne loop:

for (var i=FoersteDag;i<8;i=i+1){

hvis du gør dette, så fungerer din kode

/nute
Avatar billede Slawomir Seniormester
03. februar 2004 - 13:39 #5
jeg er stedvæk ikke med, hvordan mener du at jeg skal fjerne linjeskiftet?
jeg ved godt at jeg er en klovn til dette, man jeg vil gerne lære det og har det bedst med at prøve mig frem

<html>
<head>
<title> En evighedskalender… </title>
</head>

<body>
<font face='Verdana' size="4">

<script type="text/javascript" language="javascript">

Ugedag = new Array;
Ugedag[0]=("Søn"); Ugedag[1]=("Man");
Ugedag[2]=("Tir"); Ugedag[3]=("Ons");
Ugedag[4]=("Tor"); Ugedag[5]=("Fre");
Ugedag[6]=("Lør");

MaanedsNavn = new Array;
MaanedsNavn[0]="Januar";
MaanedsNavn[1]="Februar";
MaanedsNavn[2]="Marts"; MaanedsNavn[3]="April";
MaanedsNavn[4]="Maj"; MaanedsNavn[5]="Juni";
MaanedsNavn[6]="Juli"; MaanedsNavn[7]="August";
MaanedsNavn[8]="Septamber";
MaanedsNavn[9]="Oktorber";
MaanedsNavn[10]="November";
MaanedsNavn[11]="December";

MaanedsLgd = new Array;
MaanedsLgd[0]=31; MaanedsLgd[1]=28;
MaanedsLgd[2]=31; MaanedsLgd[3]=30;
MaanedsLgd[4]=31; MaanedsLgd[5]=30;
MaanedsLgd[6]=31; MaanedsLgd[7]=31;
MaanedsLgd[8]=30; MaanedsLgd[9]=31;
MaanedsLgd[10]=30; MaanedsLgd[11]=31;

VisMaaned = 1;VisAar = 2003;
AktuelLgd=MaanedsLgd[VisMaaned-1];
today= new Date(VisAar, VisMaaned-1, 1);
Dag=today.getDay();
FoersteDag = Dag+1;

document.write("<table border=19><TR>");

document.write("<TD COLSPAN=7 align=center>
<B>"+MaanedsNavn [VisMaaned-1] +" " + VisAar +"</B> </TR>");
document.write("<TR>");
for (i=0;i<7;i++){
document.write("<TD align=center
WIDTH=40><B>”+Ugedag[i]+"</B></TD>");}

document.write("</TR><TR>");
for (i=1;i<FoersteDag;i=i+1);{
document.write("<TD></TD>");}

Dag2=1;
for (var i=FoersteDag;i<8;i=i+1){
document.write("<TD align=center>” +
Dag2+"</TD>”);
Dag2=Dag2+1;}

document.write("</TR><TR>");

while (Dag2 <= AktuelLgd) {
for (i=1;i<=7 && Dag2<=AktuelLgd;i=i+1){
document.write("<TD align=center>"+Dag2+"</TD>")
Dag2=Dag2+1;}

document.write("</TR>"); }
document.write("</table>");
</script>
</body>
</html>
Avatar billede roenving Novice
03. februar 2004 - 13:47 #6
Det er også en dårlig ide at lave mange document.write's, det er bedre at samle det sammen i en tekststreng og så lave en document write ...

txt = "<table border=19><TR>";

txt += "<TD COLSPAN=7 align=center><B>"+MaanedsNavn [VisMaaned-1] +" " + VisAar +"</B> </TR><TR>");

for (i=0;i<7;i++){
txt += "<TD align=centerWIDTH=40><B>"+Ugedag[i]+"</B></TD>";
}

osv.

-- og så til sidst:

document.write(txt);

-- jeg fik så også fjernet et par af de forkerte linjeskift !-)
Avatar billede nute Nybegynder
03. februar 2004 - 13:55 #7
fjern linjeskift, betyder fx at denne statement:

document.write("<TD COLSPAN=7 align=center>
<B>"+MaanedsNavn [VisMaaned-1] +" " + VisAar +"</B> </TR>");

ligger over 2 linjer.

"fjern linjeskift tutorial":
- bevæg musen til enden af den første linje
- klik med venstre museknap lige efter ">" ... der vil nu komme en blinkende | der musen er
- tryk én gang på backspace eller delete knappen på dit keyboard
vupti ... du har fjernet et linjeskift og linjen vil nu se sådan ud:

document.write("<TD COLSPAN=7 align=center><B>"+MaanedsNavn [VisMaaned-1] +" " + VisAar +"</B> </TR>");

u c ?
Avatar billede Slawomir Seniormester
03. februar 2004 - 14:13 #8
jeg ved godt at dette er den nemme løsning, man er der nogen der vil smide hele koden herind, så lover jeg at jeg gå i gang med at læse mine bøger
Avatar billede nute Nybegynder
03. februar 2004 - 14:17 #9
hmf ... principielt imod at udføre "kan i ikke lige lave arbejdet for mig, for jeg gider ikke bruge tid på at sætte mig ind i tingene lige nu"-arbejde ... men her kommer det uanset ...

<html>
<head>
<title> En evighedskalender… </title>
</head>

<body>
<font face='Verdana' size="4">

<script type="text/javascript" language="javascript">

Ugedag = new Array;
Ugedag[0]=("Søn"); Ugedag[1]=("Man");
Ugedag[2]=("Tir"); Ugedag[3]=("Ons");
Ugedag[4]=("Tor"); Ugedag[5]=("Fre");
Ugedag[6]=("Lør");

MaanedsNavn = new Array;
MaanedsNavn[0]="Januar";
MaanedsNavn[1]="Februar";
MaanedsNavn[2]="Marts"; MaanedsNavn[3]="April";
MaanedsNavn[4]="Maj"; MaanedsNavn[5]="Juni";
MaanedsNavn[6]="Juli"; MaanedsNavn[7]="August";
MaanedsNavn[8]="Septamber";
MaanedsNavn[9]="Oktorber";
MaanedsNavn[10]="November";
MaanedsNavn[11]="December";

MaanedsLgd = new Array;
MaanedsLgd[0]=31; MaanedsLgd[1]=28;
MaanedsLgd[2]=31; MaanedsLgd[3]=30;
MaanedsLgd[4]=31; MaanedsLgd[5]=30;
MaanedsLgd[6]=31; MaanedsLgd[7]=31;
MaanedsLgd[8]=30; MaanedsLgd[9]=31;
MaanedsLgd[10]=30; MaanedsLgd[11]=31;

VisMaaned = 1;VisAar = 2003;
AktuelLgd=MaanedsLgd[VisMaaned-1];
today= new Date(VisAar, VisMaaned-1, 1);
Dag=today.getDay();
FoersteDag = Dag+1;

document.write("<table border=19><TR>");

document.write("<TD COLSPAN=7 align=center><B>"+MaanedsNavn [VisMaaned-1] +" " + VisAar +"</B> </TR>");
document.write("<TR>");
for (i=0;i<7;i++){
document.write("<TD align=center WIDTH=40><B>"+Ugedag[i]+"</B></TD>");}

document.write("</TR><TR>");
for (i=1;i<FoersteDag;i=i+1);{
document.write("<TD></TD>");}

Dag2=1;
for (var i=FoersteDag;i<8;i=i+1){
document.write("<TD align=center>" + Dag2+"</TD>");
Dag2=Dag2+1;}

document.write("</TR><TR>");

while (Dag2 <= AktuelLgd) {
for (i=1;i<=7 && Dag2<=AktuelLgd;i=i+1){
document.write("<TD align=center>"+Dag2+"</TD>")
Dag2=Dag2+1;}

document.write("</TR>"); }
document.write("</table>");
</script>
</body>
</html>

/nute
Avatar billede Slawomir Seniormester
03. februar 2004 - 14:28 #10
nute >> det var ikke sådan ment. denne her kalender tæller den ikke selv, for her der skriver den en forkert dato, kan godt rette det VisMaaned = 1;VisAar = 2003; , man så kommer der bare 28 i stedet for 29 dage som vi har i denne måned?
Avatar billede nute Nybegynder
03. februar 2004 - 14:35 #11
den kalender ser ikke særlig god ud ... uanset hvilken dato man vælger, så fylder den jo hellere ikke ud alle dage.

Ved:

VisMaaned = 1;VisAar = 2003;

så mangler der fx. fredag og lørdag i den første uge.

Hvorfor den ikke viser korrekte datoer, har jeg desværre ikke tid til at kigge på ... men kan det ikek være at du måske har kigget lidt skævt i din cpoy/paste job ??
Avatar billede Slawomir Seniormester
03. februar 2004 - 14:39 #12
denne eksempel har jeg taget fra "start på JavaScript 1,5" skrevet af Jes Nyhus og efter som jeg kan se så skulle alt gerne være der.

Tak for din tid og stor hjælp
Avatar billede nute Nybegynder
03. februar 2004 - 14:44 #13
selv tak :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester