Avatar billede heyho Nybegynder
27. marts 2003 - 11:10 Der er 6 kommentarer og
1 løsning

Detaljeret forklaring af script

Jeg er ved at producere en hjemmeside hvor jeg anvender nogle javascripts. Som sådan fungerer de fint, men jeg kunne godt tænke mig en detaljeret forklaring af hvordan de fungerer, så jeg eventuelt kan tilpasse dem på et senere tidspunkt.
scripts:

Ur

var days=new Array(8);
days[0]="Søndag";
days[1]="Mandag";
days[2]="Tirsdag";
days[3]="Onsdag";
days[4]="Torsdag";
days[5]="Fredag";
days[6]="Lørdag";

var months=new Array(13);
months[1]="januar";
months[2]="februar";
months[3]="marts";
months[4]="april";
months[5]="maj";
months[6]="juni";
months[7]="juli";
months[8]="august";
months[9]="september";
months[10]="oktober";
months[11]="november";
months[12]="december";
var time=new Date();
var lmonth=months[time.getMonth() + 1];
var lday=days[time.getDay()];
var date=time.getDate();
var year=time.getFullYear();
var hours=time.getHours();
var minutes=time.getMinutes();
var seconds=time.getSeconds();


document.write("<p>" + lday + " d. ");
document.write(date + ". " + lmonth + " " + year);
document.write(" kl. " + hours + ":" + minutes + ":" + seconds + "</p>");


-----------------------------------------------------------


Login

function Login(){

var login=document.form1.username.value;
login=login.toLowerCase();
var pw=document.form1.password.value;
pw=pw.toLowerCase();

if ((pw == "dillertjavs")&&(login == "Hansemand")) {
window.location="beskyttet.htm"
}

else if ((pw == "kyssemund")&&(login == "banditten")) {
window.location="beskyttet.htm"
}

else if ((pw == "hejmeddig")&&(login == "Ole-Nielsen")) {
window.location="beskyttet.htm"
}

else
alert("Det indtastede brugernavn eller kodeord er forkert.");

}


Jeg håber i vil hjælpe, Hilsen Hans Beckenbauer
Avatar billede =maddog= Nybegynder
27. marts 2003 - 11:27 #1
UR:
Dette script anvender arrays til at forvandle tal til ord.
var etArray = {"Nul","Et","To"};
var etTal = 1; // vores tal. dette svarer til et INDEX i arrayet. bemærk plads 1 er index 0
alert(etArray[etTal]);
Idet dette script skriver til dokumentet skal som minimum document.write() kode-delen pladseres imellem <body> og </body>

Login.
Dette vil jeg ikke anvende hvis jeg var dig. Det gør bare folk nysgerrige hvis der er kode-ord, og det der er SÅ let at hacke at det næsten er løwn.
Avatar billede =maddog= Nybegynder
27. marts 2003 - 11:33 #2
eller for at fløge syntaxen fra scriptet
var etArray = new Array(3);
etArray[0] = "Nul";
etArray[1] = "Et";
etArray[2] = "To";
Avatar billede heyho Nybegynder
27. marts 2003 - 11:42 #3
Hmm, jeg tænkte mere på en beskrivelse af koden. f.eks: "først oprettes der et array, som gør at bla bla bla", noget i den stil.
Avatar billede =maddog= Nybegynder
27. marts 2003 - 11:53 #4
Ok.
Først oprettes to arrays med konstructor. Konstruktoren tager et enkelt tal som argument, og dette definerer længden på dette array.
I dette tilfælde opretter vi to arrays - days og months - og lader hvert index i disse arrays modsvare dage og måneder.
Derefter opretter vi et Date objekt, der ikke har nogen argumenter i konstruktoeren. Dette objekt indeholder tidspunktet siden blev loaded taget fra system uret.
Date indeholder en række metoder der angiver måned og dag som et tal. Det er disse vi sammenkobler med de to arrays så det hedder "Torsdag, d. 27. marts" og ikke "03-27-2003-12:00:00".
Bemærk at disse returnerer det forventede (4 for torsdag til eksempel) minus en (altså 3 for torsdag). Dette er fordi index i et array er 0 på første plads. Fremsynet må man sige (udviklerne har sikkert forudset denne anvendelse).

Slutteligt udskrives den fundne dato pænt i et <p> tag med document.write(). Det er denne del der skal være i <body>.
Avatar billede heyho Nybegynder
27. marts 2003 - 11:56 #5
Gider du at lave det for login-delen også? og så lave det som et svar, så er de 200 point dine =)
Avatar billede =maddog= Nybegynder
27. marts 2003 - 12:37 #6
udemærket.
objektet document er javascripts repræsentation af html-dokumentet. dette indeholder en række felter med objekter der findes i dokumentet og en række funktioner. man kan få adgang til de html-objekter der har en NAME attribut med en simpel pointer (objekt.sub-object.field = value). blandt disse er <form>
<form name="form1">
kan således tilgåes med document.form1
inde i form1 findes to input-felter. disse kan tilgåes på samme måde fra form1 som form1 kunne fra document.
<input type="text" value="Skriv brugernavn" name="username">
kan hentes med document.form1.username (forudsat den findes inden i form1's tags)
disse har et value felt svarende til den streng der umiddelbart findes i det pågældende tekstfelt. Således vil document.form1.username.value være lig "FolMer" hvis der står FolMer inde i dette felt (selvklart).
Vi vil kun acceptere små bogstaver, men brugeren kan ved en fejl have CAPS-lock på eller lign. så vi kalder metoden toLowerCase for at omdanne store til små bogstaver
var login=document.form1.username.value; // "FolMer"
login=login.toLowerCase(); // er nu blevet til "folmer"
herefter laver vi en boolsk OG sammenligning. && kan raskvæk læses som "og" og == kan læses som "er lig med"
if ((pw == "dillertjavs")&&(login == "Hansemand")) {
window.location="beskyttet.htm"
} else if ((pw == "kyssemund")&&(login == "banditten")) {
window.location="beskyttet.htm"
}
kan altså læses som
"hvis" ((password "er lig" "dillertjavs") "og" (login "er lig" "hansemand")) {
vindue åben lokaliteten beskyttet.html
} "ellers hvis" o.s.v.
bemærk at login ALDRIG kan blive "Hansemand" da vi har kaldt toLowerCase. Denne linje er altså meningsløs. Man kan også bruge || (or - ellers) i stedet for en masse else-if.
Avatar billede heyho Nybegynder
27. marts 2003 - 12:40 #7
mange tak for hjælpen, du er en ven i nøden
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

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