Avatar billede jeffe Nybegynder
26. august 2003 - 11:31 Der er 21 kommentarer og
1 løsning

JS Counter

Jeg har den her fra et gammelt spørgsmål jeg stillede. Nu skal den rettes lidt til.

<head>
<script language=javascript>
    var intervalId;
    var refreshRate = 1000;
    var htmlCounter;

    function countdown_start() {
        htmlCounter = 21;
        document.form1.c.value=htmlCounter--;
        intervalId = setInterval(countDown, refreshRate);
    }

    function countdown_stop() {
        clearInterval(intervalId);
    }

    function countDown() {
        document.form1.c.value=htmlCounter--;
        ctime.innerHTML = htmlCounter;
        if(htmlCounter < 1) {
            countdown_stop();
            document.location.href='admin/timeup.asp';
        }
    }
</script>
</head><body class="bg" onLoad="countdown_start();">


Derudover er der en <span nname=ctime id=ctime>&nbsp;</span> nede ved submit.

Hvad jeg gerne vil have lavet/forklaret er:

1. Den tæller ned fra 20 (sat til 21 fordi den starter før man kan se noget). Problemet er, at selvom man klikker på Submit (som skulle stoppe tælleren) fortsætter tælleren indtil den skifter til næste side, og der kan nogle gange gå et par sekunder, specielt hvis serveren er belastet. Det har jeg haft del klager over, at folk nåede det, men at den så ikke når at registere det. Den skal altså stoppe når der trykkes, og ikke når næste side loades.

2. Er der ikke en smartere måde end den span der ? Løsning ønskes :D

På Forhånd Tak !
Avatar billede jeffe Nybegynder
26. august 2003 - 11:36 #1
Ups, nok lidt forkert ordvalg. Burde vel hedde countdown i stedet for counter.
Avatar billede rrm Nybegynder
26. august 2003 - 11:36 #2
1: prøv med <input type=... onclick="countdown_stop()">
Avatar billede jeffe Nybegynder
26. august 2003 - 11:38 #3
yes, lyder jo fornuftigt. Der går nok lige en time inden jeg rapporterer tilbage hvordan det gik...Skal lige have skrevet resten af filen + plus et par andre ting...
Avatar billede mm12010 Nybegynder
26. august 2003 - 11:39 #4
<input name="submit" type="submit" value="Submit" onClick="countdown_stop();">

span-tricket er måden at gøre det på
Avatar billede jeffe Nybegynder
26. august 2003 - 12:04 #5
Hmm, jeg kan selvfølgelig ikke få det til at virke...

Jeg har:

<body onLoad="countdown_start();">

og

<input type=hidden name=c value=0><span nname=ctime id=ctime>&nbsp;</span><button type="submit" OnClick="countdown_stop();">Afgiv Svar</button>

I <head> i selve scriptet som jeg har pasted det i spørgsmålet. Den viser bare ikke tælleren, og den opdaterer i øvrigt ikke efter de 21 sekunder. HVad er der galt ?
Avatar billede mm12010 Nybegynder
26. august 2003 - 12:23 #6
uden at vide hvad du skal bruge det til har jeg rettet lidt i det:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>392638</title>
<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 < 1) {
        countdown_stop();
        document.location.href='admin/timeup.asp';
        }
    }
</script>
</head>
<body class="bg" onLoad="countdown_start();">
<form action="an_anden_side.html" method="get" name="form1">
  <input type="text" name="c"><br>
  <input name="submit" type="submit" value="Submit" onClick="countdown_stop();">
</form>
</body>
</html>
Avatar billede jeffe Nybegynder
26. august 2003 - 12:52 #7
Ja, den virker da i hvert fald som den står der
Så kan jeg da altid gå ud fra den...
Avatar billede jeffe Nybegynder
26. august 2003 - 13:02 #8
Dit virker, men kan du forklare mig hvorfor det her så ikke virker:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <!--#include file="includes/head.inc"-->
<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 < 1) {
        countdown_stop();
        document.location.href='admin/timeup.asp';
        }
    }
</script>
  </head>
  <body onLoad="countdown_start();">
        <div id="frame">
            <div id="contentheader">
                HEADER
            </div>
            <div id="contentleft">
                MENU
            </div>
            <div id="contentcenter">
                <h1>Besvar Spørgsmål</h1>
                    <form action="besvar.asp" method="post" name="form1">
                        <label>Spørgsmål:</label><%=spm%><br /><br />
                        <input type="radio" name="svar" value="1"> <%=mulighed1%><br />
                        <input type="radio" name="svar" value="2"> <%=mulighed2%><br />
                        <input type="radio" name="svar" value="3"> <%=mulighed3%><br /><br />
                        <input type="text" name="c"><button type="submit">Afgiv Svar</button>
                    </form>
                <br /><br /><br />
            </div>
            <div id="contentfooter">
                FOOTER
            </div>
        </div>
  </body>
</html>


Der er selvfølgelig også tilhørende ASP-kode, men alt det virker perfekt...Tælleren vises bare ikke i den input der :/
Avatar billede jeffe Nybegynder
26. august 2003 - 13:02 #9
Og den opdaterer altså heller ikke (sender videre efter 20 seks)
Det hele er kopieret fra din virkende sag..
Avatar billede mm12010 Nybegynder
26. august 2003 - 13:15 #10
virker fint her...

se: http://www.uniquem.dk/exp/392638.htm

hvilken browser bruger du? har du ikke js slået til?
Avatar billede jeffe Nybegynder
26. august 2003 - 13:17 #11
Ja, den virker også her. Har delvist fundet ud af hvad der er galt. CSS-filen (eller noget andet fra <head>) gør at det ikke virker...fjerner jeg min include med alle <head>-ting virker det. Men jeg går udfra at det er noget i CSS'en....ved du noget om det ?
Avatar billede roenving Novice
26. august 2003 - 13:20 #12
Hvad er der i inc-filen ?-)
Avatar billede mm12010 Nybegynder
26. august 2003 - 13:20 #13
css'en har ingenting at sige...

må jeg se din include?
Avatar billede jeffe Nybegynder
26. august 2003 - 13:25 #14
<meta http-equiv="Content-Type" content="text/xhtml; charset=iso-8859-1" />
        <meta name="author" content="Brian Wenzel" />
        <meta name="revised" content="Brian Wenzel, 26/08/03" />
        <meta name="generator" content="HotDog Pro 7" />
        <meta name="description" content="Fedeting.dk Quiz" />
        <meta name="keywords" content="Fedeting, Quiz, Spørgsmål, Konkurrence, Konkurrencer" />
        <title>Fedeting.dk Quiz</title>
        <link rel="stylesheet" type="text/css" href="css/style.css" />
        <script type="text/vbscript">
        window.status="FEDETING.DK QUIZ"
        </script>
Avatar billede jeffe Nybegynder
26. august 2003 - 13:25 #15
dvs, når det der ikke er med, virker det. Er det med, virker det ikke...
Avatar billede mm12010 Nybegynder
26. august 2003 - 13:27 #16
<script language="JavaScript" type="text/javascript">
window.status="FEDETING.DK QUIZ";
</script>
Avatar billede jeffe Nybegynder
26. august 2003 - 13:27 #17
Ja ok, det er det vbs der, der gør det. Kan jeg skrive det på en anden måde, så det kommer med, men ikke driller JS'en ?
Avatar billede jeffe Nybegynder
26. august 2003 - 13:30 #18
Nåh, der kom den endelig. Tusind tak for hjælpen !
Avatar billede mm12010 Nybegynder
26. august 2003 - 13:32 #19
selv tak :o)
Avatar billede jeffe Nybegynder
26. august 2003 - 13:32 #20
roenving: Havde du en løsning til det her, eller fandtes der ikke én IE kunne håndtere?: http://www.eksperten.dk/spm/392537
Avatar billede roenving Novice
26. august 2003 - 13:44 #21
>>jeffe

Jeg fandt ikke en ...
Avatar billede jeffe Nybegynder
26. august 2003 - 13:58 #22
æv :D
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