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
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
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åned: <input type='text' name='maaned' length='2' value=''> i tal!<br>
Årstal: <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øn","Man","Tir","Ons","Tor","Fre","Lø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!