Avatar billede q^bone Nybegynder
18. marts 2003 - 17:43 Der er 6 kommentarer og
1 løsning

Kalender

Hej allesammen.
Nu har jeg siddet og kigget længe på mit javascript, og jeg har endda fået en flink fyr til at se på det.
Fejlen er dog ikke blevet fundet endnu. Vil nogle af jer kigge på mit script og evt. sige hvad fejlne er - hvis i finder den/dem.

Scriptet er her: http://www.faktory.dk/qbone/kalender.html¨
:)
Avatar billede aboesx Nybegynder
18. marts 2003 - 17:50 #1
det ville hjælpe hvis du sagde hvad buggen bestod i?

eller du søger måske en gratis fintionalitets test ? :D
Avatar billede q^bone Nybegynder
18. marts 2003 - 17:55 #2
Heh.. jeg ved egentlig ikke hvor fejlen er. Men det er som om at scriptet ikke modtager data fra formfields ordentligt.. Den viser ihvertfald ikke den måned eller det år den skal
Avatar billede q^bone Nybegynder
18. marts 2003 - 17:55 #3
måske i if(); sætningen? :)
Avatar billede jespernaur Nybegynder
18. marts 2003 - 17:55 #4
Din "go" knap har en onclick handler, der kalder funktionen ShowTekst:

  onclick="ShowTekst()"

Du mangler at definere ShowTekst
Avatar billede q^bone Nybegynder
18. marts 2003 - 18:35 #5
Jeg har prøvet at have sådan en i.. Men så sagde min ven at den ikke gjorde noget..
Den hed før

function ShowTekst() {
var maaned = document.form1.maaned.value;
var aar = document.form1.aar.value;
}

Men så sagde han at jeg skulle sætte
var maaned, aar;
ind og så bagefter at min function ShowTekst() ikke gjorde noget
Avatar billede timm Nybegynder
18. marts 2003 - 19:59 #6
jamen Q^ben da...

Din ven har helt ret i, din ShowTekst() ik gør noget, og det gør din "submit-knap" i det hele taget ikke... Værdien i din form bliver jo aldrig, som du selv konkluderer, sendt til scriptet.

Sæt det hele dit script, som det ser ud nu, ind i en function, som du kalder dels i dit <body onload>-event, og dels når man trykker på knappen (<input type="button" onclick> -event).
derudover skal du ændre dit if-statement i linie 5 af dit script til:

if(form1.maaned.value && form1.aar.value <> "") {
VisMaaned = form1.maaned.value; VisAar = form1.aar.value;
} else {
VisMaaned = 1; VisArr = 2003;
}

Håber det virker (har ik haft tid til at teste det), men ellers hiv fat i mig på mIRC ;)

/Timm
Avatar billede timm Nybegynder
18. marts 2003 - 20:26 #7
well, nu HAR jeg testet det, og det virkede ikke (ik helt, anyway, jeg havde ret i hvad fejlen skyldes... Er trods alt noget tid siden jeg har brugt JS, så (mig && syntax == false))

anyway, her har du koden, som virker (i hvert fald i IE):

<html>
<head>
<title>Kalender</title>
</head>

<body>
<font FACE='Verdana' SIZE='4'>
<form name='form1' ID='form1'>
M&aring;ned:&nbsp;&nbsp;<input type='text' name='maaned' length='2' value=''>&nbsp;i tal!<br>
&Aring;rstal:&nbsp;<input type='text' name='aar' length='4' value=''><br>
<input type='button' value='go' onclick='ShowTekst()'><br>
</form></font>

<script type="text/javascript">

function ShowTekst() {

UgeDag = new Array("S&oslash;n","Man","Tir","Ons","Tor","Fre","L&oslash;r");
MaanedsNavn = new Array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December");
MaanedsLgd = new Array("31","28","31","30","31","30","31","31","30","31","30","31")

if((document.form1.maaned.value != "") && (document.form1.aar.value != "")) {
VisMaaned = document.form1.maaned.value; VisAar = document.form1.aar.value;
} else {
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>
<script type="text/javascript">
ShowTekst();
</SCRIPT>
</body>
</html>

Som du måske har indset, så fjernes dine input-felter, når man trykker på "go", du kan evt lave knappen om til en rigtig submit-knap, og så poste værdierne og sætte nogle variabler via PHP, eller du har måske nogle andre ideer...?
Ideen netop med at bruge JS frem for PHP ryger jo så lidt dér...

anyway, GL med det, nice arb med den kalender!
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