/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Tiden tæller ikke ned
Fra : Britt Malka


Dato : 28-01-04 12:18

Goddag

Jeg er i gang med at lave en blog, hvor man kun skal kunne skrive i et
bestemt stykke tid.

På serverside.php blev jeg anbefalet at bruge et JavaScript til
nedtællingen og herefter gemme indholdet af formularen med PHP
(MySQL).

Idéen er god, men desværre kan jeg ikke få JavaScriptet til at gøre
noget som helst, og eftersom jeg ikke kender ret meget til JS, kan jeg
heller ikke finde fejlen.

Mit script ser sådan her ud:

<html>
<head>
<script type="text/javascript">
function first() {
alert('Et minut tilbage');
setTimeout('second()',(1000*60*1));
}

function second() {
document.blogform.submit();
}
</script>
</HEAD>

<BODY onLoad="setTimeout('first()',(1000*60*1)">

<form name="blogform" method="post" action="test2.php">
Overskrift: <input name="overskrift" size="50" ><br>
Blogtekst: <TEXTAREA name="blog" rows=10 cols=50></TEXTAREA>
<input type="submit">
</form>

</BODY>
</HTML>

Er der nogen her, der kan se, hvorfor det ikke virker?
--
Britt Malka
Gratis hovedbrud, puslerier og hjernegymnastik: http://www.hovedbrud.com
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

 
 
Lasse Reichstein Nie~ (28-01-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 28-01-04 22:03

Britt Malka <news@foxladi.com> writes:

> Jeg er i gang med at lave en blog, hvor man kun skal kunne skrive i et
> bestemt stykke tid.

Hvor frustrerende :)

> På serverside.php blev jeg anbefalet at bruge et JavaScript til
> nedtællingen og herefter gemme indholdet af formularen med PHP
> (MySQL).

Hvad du gør på serveren bestemmer du helt selv. På klienten kan
man bruge Javascript til at tælle ned og submitte formen efter
noget tid, *men* hvis man slår Javascript fra (F12,J i Opera),
så har man al den tid man skal bruge.

> Mit script ser sådan her ud:

Husk DOCTYPE. Den er påkrævet i HTML. Jeg anbefaler en der sætter
browseren i "standards mode".

> <html>
> <head>
> <script type="text/javascript">
> function first() {
> alert('Et minut tilbage');
> setTimeout('second()',(1000*60*1));

Lave en alert, udfør "second()" et minut efter at man har trykket ok.

> }
>
> function second() {
> document.blogform.submit();

Her ville jeg nok bruge en noget sikrere måde at skrive det på (som
ikke antager at formen er blevet en egenskab ved dokument-elementet).

document.forms['blogform'].submit();

Det vil dog nok virke i de fleste tilfælde (i.e., jeg tror ikke det er
det der er problemet).

> }
> </script>

Title-elementet er påkrævet i HTML :)

> </HEAD>
>
> <BODY onLoad="setTimeout('first()',(1000*60*1)">
^ mangler parentes her!
(for dem der læser nyheder med proportionalfont (lad være med det!),
så er det til aller sidst i attributten at der mangler en slut-parentes
(og et semikolon)).

> Er der nogen her, der kan se, hvorfor det ikke virker?

Jep.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Britt Malka (29-01-2004)
Kommentar
Fra : Britt Malka


Dato : 29-01-04 10:56


Hej Lasse

Lasse Reichstein Nielsen <lrn@hotpop.com> skrev:

>> Jeg er i gang med at lave en blog, hvor man kun skal kunne skrive i et
>> bestemt stykke tid.
>
>Hvor frustrerende :)

Det er hele idéen Det er en skriveøvelse.

>Hvad du gør på serveren bestemmer du helt selv. På klienten kan
>man bruge Javascript til at tælle ned og submitte formen efter
>noget tid, *men* hvis man slår Javascript fra (F12,J i Opera),
>så har man al den tid man skal bruge.

Selv uden at slå det fra virker scriptet ikke i Opera Jeg er nødt
til at bruge Mozilla.

>Husk DOCTYPE. Den er påkrævet i HTML. Jeg anbefaler en der sætter
>browseren i "standards mode".

Ja, jeg har alt det foroven, links til stylesheets, favoritikoner og
meget andet, men jeg ville ikke spilde pladsen her på news med det.

>> function second() {
>> document.blogform.submit();
>
>Her ville jeg nok bruge en noget sikrere måde at skrive det på (som
>ikke antager at formen er blevet en egenskab ved dokument-elementet).
>
> document.forms['blogform'].submit();

Wow! Du har fået den til at virke i Opera med den ændring! Tusind tak.

>Det vil dog nok virke i de fleste tilfælde (i.e., jeg tror ikke det er
>det der er problemet).

Nej, det var det heller ikke. Ud over Opera-problemet.

>Title-elementet er påkrævet i HTML :)

Ja, ja Den har jeg også med i toppen

> ^ mangler parentes her!

Ja, der gjorde! Det var derfor, at den ikke virkede.

>så er det til aller sidst i attributten at der mangler en slut-parentes
>(og et semikolon)).

Og et semikolon?

Hvor skal det indsættes?

<body onload="setTimeout('first()',(1000*60*1))">

>> Er der nogen her, der kan se, hvorfor det ikke virker?
>
>Jep.

Tusind tak
--
Britt Malka
Gratis hovedbrud, puslerier og hjernegymnastik: http://www.hovedbrud.com
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Lasse Reichstein Nie~ (29-01-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 29-01-04 21:54

Britt Malka <news@foxladi.com> writes:

> Og et semikolon?
>
> Hvor skal det indsættes?

Bare efter den sidste parentes. Man afslutter statments i Javascript
med semikolon. De kan undlades i nogle tilfælde, men det er sikrere
at sætte dem end at forsøge at huske undtagelserne.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste