27. januar 2005 - 14:33Der er
13 kommentarer og 1 løsning
Timer-script
Jeg bruger dette script:
<script language="JavaScript" type="text/javascript"> var intervalId; var refreshRate = 1000; var htmlCounter; function countdown_start() { htmlCounter = 20; countDown(); intervalId = setInterval("countDown()", refreshRate); } function countdown_stop() { clearInterval(intervalId); } function countDown() { document.form1.c.value=htmlCounter--; if(htmlCounter < 0) { countdown_stop(); document.location.href="php/besvarspm.php?spmid=<? echo $spmid; ?>&tid=ja"; }
} </script>
Det bliver sat til et formfelt, der så viser tiden tælle ned fra 20. Hvis tiden løber ud, ryger man til en side med variablen tid=ja på. Meningen er, at man helst inden tiden rinder ud skal have trykket på én af tre knapper. Det hele virker også, men hvis brugerne har en langsom forbindelse eller måske sidder og downloader, kan tiden løbe ud selv om der er mange sekunder tilbage når de rent faktisk trykker.
Jeg søger en måde at skrive det script på, så det overvåger hvornår man klikker på én af de tre submit-knapper, og dermed stopper tiden. Når den stopper tiden, skal den naturligvis og sørge for at folk imens siden så loades ikke kan skifte mening.
Jeg er lidt i tvivl om alt dette kan gøres med JS, men man kunne måske stoppe tiden ved submit og dernæst kalde noget VBS der fjernede de tre knapper og skrev at den loadede i stedet...hvad ved jeg!?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Det med tiden virker fint. Herligt. Men hvordan bliver det helt nøjagtigt disabled? - jeg synes stadig jeg kan klikke på dem. Jeg har naturligvis angivet name på alle tre forms og skrevet dem i stedet submit0/1/2...
-- enten sætter du et hidden felt til noget forskelligt efter hvilken submit, der trykkes på eller ændrer action ved det klik ...
-- iøvrigt kan du vel serverside aflæse, hvilken submit, der er klikket på !o]
-- og den helt store fordel kommer så i den kode, du sætter ind i dine onclick-events, for det er ret meget lettere at skrive this.form.submit0 i stedet for at skrive document.form2.submit1 (og næsten umuligt at lave fejl !-)
Lad os antage at med mine sciprts osv, vil det være lettere at gøre det med tre forms (dvs. ikke ændre noget, derfor) og i stedet bare gøre den halvdumme måde (kan godt se det, vil huske til næste gang).
Dette er jo så for knap tre...Burde det ikke virke (for det synes jeg stdig ikke det gør. Altså tiden stopper, men det er stadig muligt at nå at klikke på et andet felt og dermed ændre resultatet...
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.