/ 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
Kan man indbygge "forældelse" i JavaScript~
Fra : Peter


Dato : 18-05-09 12:02

Hej!

På en formular-side har jeg et "valg af dato" JavaScript. Kan man udvidde
scriptet, således at man ikke kam vælge en dato eller et klokkeslet som er
"ældre" end det aktuelle tidspunkt man udfylder formularen ?

hilsen
Peter

<script Language="JavaScript" Type="text/javascript">
function FrontPage_Form1_Validator(theForm)
{
var dag = document.getElementById('dag');
var dato = document.getElementById('dato');
var mdr = document.getElementById('mdr');
var aaret = document.getElementById('aaret');

if (dag.selectedIndex < 1 )
{
alert("Du skal vælge en ugedag!");
dag.focus();
return (false);
}

if (dato.selectedIndex < 1)
{
alert("Du skal vælge en dag i måneden!");
dato.focus();
return (false);
}

if (mdr.selectedIndex < 1)
{
alert("Du skal vælge en måned!");
mdr.focus();
return (false);
}

if (aaret.selectedIndex < 1)
{
alert("Du skal vælge et årstal!");
aaret.focus();
return (false);
}

var ugedagvalgt = dag.selectedIndex % 7 ;
// alert('ugedag valgt' + ugedagvalgt );
var manedvalgt = mdr.selectedIndex ;
// alert('maned valgt' + manedvalgt );
var aaretvalgt = aaret.selectedIndex + 2008 ;
// alert('Året valgt' + aaretvalgt );
var datovalgt = dato.selectedIndex ;
// alert('Dato valgt' + datovalgt );

var mydate = new Date();
mydate.setFullYear(aaretvalgt,manedvalgt-1,datovalgt);
var ugedag=mydate.getDay();

if ( mydate.getFullYear() != aaretvalgt || mydate.getMonth()+1 != manedvalgt
|| mydate.getDate() != datovalgt ) {
alert ('Denne dato findes ikke i kalenderen!: ' +
mydate.toDateString() );
dag.focus(); return false;
}

if ( ugedagvalgt != ugedag ) {
alert ('Ugedag og dato passer ikke sammen!');
dag.focus();
return false;
}

var klokkeslet =
document.getElementById('klokkeslet');
if (klokkeslet.selectedIndex < 1 )
{
alert("Hvilket klokkeslet?");
klokkeslet.focus();
return (false);
}

return (true);
}
</script>



 
 
Peter (18-05-2009)
Kommentar
Fra : Peter


Dato : 18-05-09 12:16

Her er et link til siden www.morgenmusikken.dk/formular+.htm



Stig Johansen (18-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 18-05-09 15:20

"Peter" <petit@mobil.dk> wrote in message
news:4a11402b$0$56777$edfadb0f@dtext02.news.tele.dk...
> På en formular-side har jeg et "valg af dato" JavaScript.
Ser bekendt ud :)

> Kan man udvidde
> scriptet, således at man ikke kam vælge en dato eller et klokkeslet som er
> "ældre" end det aktuelle tidspunkt man udfylder formularen ?
Ja, jeg har testet følgende. efter denne sekvens:

> var mydate = new Date();
> mydate.setFullYear(aaretvalgt,manedvalgt-1,datovalgt);
> var ugedag=mydate.getDay();

Har jeg tilføjet:
.....
var today = new Date();
if ( mydate < today ) {
alert ('Du skal vælge en dato frem i tiden' );
dato.focus();
return false;
}
.....
Og så kommer resten:

> if ( mydate.getFullYear() != aaretvalgt || mydate.getMonth()+1 !=
manedvalgt
> || mydate.getDate() != datovalgt ) {

osv.

--
Med venlig hilsen/Best regards
Stig Johansen




Peter (18-05-2009)
Kommentar
Fra : Peter


Dato : 18-05-09 19:57

Hej Stig!

Tak !!! Det fungerer fint. Tak !!!

Kan scriptet "gøres" endnu mere avanceret - også m.h.t. et klokkeslet ?

Hvis man på formularen har valgt dato i dag kl. 6.00, på et tidspunkt hvor
computerens ur f.eks. var kl. 8.00, at den så "fortæller" at tidspunktet
ikke kan lade sig gøre. Kunden "ville" egentlig have valgt kl. 16.00, men
ved en fejl afgav bestillingen lydene på kl. 6.00 i stedet.

hilsen
Peter



Martin (19-05-2009)
Kommentar
Fra : Martin


Dato : 19-05-09 00:39

Peter wrote:
> Hej Stig!
>
> Tak !!! Det fungerer fint. Tak !!!
>
> Kan scriptet "gøres" endnu mere avanceret - også m.h.t. et klokkeslet ?
>
> Hvis man på formularen har valgt dato i dag kl. 6.00, på et tidspunkt hvor
> computerens ur f.eks. var kl. 8.00, at den så "fortæller" at tidspunktet
> ikke kan lade sig gøre. Kunden "ville" egentlig have valgt kl. 16.00, men
> ved en fejl afgav bestillingen lydene på kl. 6.00 i stedet.

En rigtig god ide...
TEGN (på papir fx., og når man bliver bedre så gør man det i hovedet)
hvordan tingene skal være

Det som du vil have er vel.

Hvis dato valgt er idag og hvis tidspunkt er mindre end ligenu

Det kan så laves om til

IF dato valgt == idag && tidspunkt < ligenu

og på javascriptsks

var today = new Date();
// new Date, kan en MASSE ting
// Du kan se alle funktioner her
// http://www.w3schools.com/jsref/jsref_obj_date.asp

// 2 nye felter til tidspunkt
hour = document.getElementById('hour');
min = document.getElementById('min');

if (
today.getMinutes() < min // Hvis minut valgt er mindre end nu
&& today.getHours() < hour // OG time valgt er mindre end nu
&& mydate == today // OG valgt dato er mindre = idag
) {
alert('Du skal vælge et tidspunkt fremad i tiden');
return false;
}

Stig Johansen (19-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 19-05-09 04:51

Martin wrote:

> // 2 nye felter til tidspunkt
> hour = document.getElementById('hour');
> min = document.getElementById('min');

Han har i forvejen en rulleboks med de 'lovlige' valg.

Jeg tænker mere på at udvide variablen mydate med hhv. setHours og
setMinutes, så vil sammenligningen[1] formentlig virke 'out of the box'.

Det betyder, at der skal defineres en JS array, der mapper selectedindex til
klokkeslet (value virker ikke i alle browsere).

Måske kan man også extracte værdierne i en onload, så man slipper for
dobbelt vedligeholdelse.

Jeg synes ikke rigtig jeg har tid til at afteste mulighederne, så måske er
der andre, der har bedre ideer.

[1] Se mit tidligere svar.
--
Med venlig hilsen
Stig Johansen

Peter (19-05-2009)
Kommentar
Fra : Peter


Dato : 19-05-09 17:58

Hej Martin!

Jeg har prøvet dit script, men den "kører" bare forbi uden at validere
(måske ikke det rigtige ord?)

Her er et link til siden www.morgenmusikken.dk/formular+.htm

Har jeg sat det ind et "forkert" sted i scriptet eller hvad kan problemet
være?

hilsen
Peter


> Det som du vil have er vel.
>
> Hvis dato valgt er idag og hvis tidspunkt er mindre end ligenu
>
> Det kan så laves om til
>
> IF dato valgt == idag && tidspunkt < ligenu
>
> og på javascriptsks

> // 2 nye felter til tidspunkt
> hour = document.getElementById('hour');
> min = document.getElementById('min');
>
> if (
> today.getMinutes() < min // Hvis minut valgt er mindre end nu
> && today.getHours() < hour // OG time valgt er mindre end nu
> && mydate == today // OG valgt dato er mindre = idag
> ) {
> alert('Du skal vælge et tidspunkt fremad i tiden');
> return false;
> }



Stig Johansen (23-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 23-05-09 08:14

Peter wrote:

> Kan scriptet "gøres" endnu mere avanceret - også m.h.t. et klokkeslet ?

Ja.

> Hvis man på formularen har valgt dato i dag kl. 6.00, på et tidspunkt hvor
> computerens ur f.eks. var kl. 8.00, at den så "fortæller" at tidspunktet
> ikke kan lade sig gøre. Kunden "ville" egentlig have valgt kl. 16.00, men
> ved en fejl afgav bestillingen lydene på kl. 6.00 i stedet.

Jeg har lavet et eksempel, baseret på lidt af hvert fra din side her:
<http://w-o-p-r.dk/test/peter5.html>
Der har jeg indført, at klokkeslettet skal være senere end computerens ur.

Bemærk, at jeg har byttet om på rækkefølgen af nogle tests, så lav en 'vis
kilde', og sammenlign med din version af javascriptet.

Der skal også være overensstemmelse mellem array definitionen af tider:
var lovligetider = new Array (-1,600,630,... osv
og din option liste.
-1 i arrayet repræsenterer dine 'streger', som ikke er 'lovlige' valg.


--
Med venlig hilsen
Stig Johansen

Peter (23-05-2009)
Kommentar
Fra : Peter


Dato : 23-05-09 19:43

Hej Stig (og andre)!

Jeg har nu anvendt dit eksempel, men det giver nogle "uhensigtsmæssige"
problemer.
Hvis jeg vælger en ældre dato end "dags dato" (både uge + dato nr.)
acepteres dette
uden "alert". Hvis jeg derefter vælger et tidspunkt på dagen som er passeret
kommer
"alerten": 'Du skal vælge en dato frem i tiden'.
"Reaktionen" kommer altså udelukkende fordi tidpunktet er forkert.

Kan scriptet ikke kodes på en sådan måde, at "dags dato" ikke kan vælges =
"dags dato + 1", da det ikke er muligt at bestille "morgenmusik" til
samme dag, med mindre man udfylder formularen i tidsrummet 00.01 - 07.00, da
alerten har følgende ordlyd: 'Du skal vælge en dato frem i tiden'.
Jeg vil engentlig gerne "nøjes" med en forenklet løsning med kun et check af
datoen.

Linket til siden er stadig www.morgenmusikken.dk/formular+.htm

hilsen
Peter

> Jeg har lavet et eksempel, baseret på lidt af hvert fra din side her:
> <http://w-o-p-r.dk/test/peter5.html>
> Der har jeg indført, at klokkeslettet skal være senere end computerens ur.
>
> Bemærk, at jeg har byttet om på rækkefølgen af nogle tests, så lav en 'vis
> kilde', og sammenlign med din version af javascriptet.
>
> Der skal også være overensstemmelse mellem array definitionen af tider:
> var lovligetider = new Array (-1,600,630,... osv
> og din option liste.
> -1 i arrayet repræsenterer dine 'streger', som ikke er 'lovlige' valg.

> Med venlig hilsen
> Stig Johansen



Stig Johansen (24-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 24-05-09 05:51

"Peter" <petit@mobil.dk> wrote in message
news:4a1843bf$0$56783$edfadb0f@dtext02.news.tele.dk...
> Hej Stig (og andre)!
>
> Jeg har nu anvendt dit eksempel, men det giver nogle "uhensigtsmæssige"
> problemer.
> Hvis jeg vælger en ældre dato end "dags dato" (både uge + dato nr.)
> acepteres dette
> uden "alert". Hvis jeg derefter vælger et tidspunkt på dagen som er
passeret > kommer
> "alerten": 'Du skal vælge en dato frem i tiden'.
> "Reaktionen" kommer altså udelukkende fordi tidpunktet er forkert.

Det gør den ikke i min testversion.
Men til gængæld får jeg en fejl i din version.
Den fejler fordi du i dette udsnit:
.....
<select size="1" name="Dette_er_en" id="Dette_er_en"
.....
har rettet id til stort D i starten.
Det betyder at denne linie:
var dette_er_en =
document.getElementById('dette_er_en');
fejler, da der er forskel på små og store bogstaver.Når scriptet fejler
valideres der slet ikke.

> Kan scriptet ikke kodes på en sådan måde, at "dags dato" ikke kan vælges =
> "dags dato + 1", da det ikke er muligt at bestille "morgenmusik" til
> samme dag, med mindre man udfylder formularen i tidsrummet 00.01 - 07.00,

Jo man kan evt. sætte timer til eks. 23 hvis klokken er mere end 7.

da
> alerten har følgende ordlyd: 'Du skal vælge en dato frem i tiden'.

Hvad med at rette den til 'Du skal vælge en dato/tidspunkt frem i tiden'.

> Jeg vil engentlig gerne "nøjes" med en forenklet løsning med kun et check
af > datoen.

Hvis du ikke vil have man kan vælge samme dag, kan du prøve at indsætte:
.....
today.setHours(23);
today.setMinutes(59);
.....
lige efter linien:
var today = new Date();

--
Med venlig hilsen/Best regards
Stig Johansen




Peter (24-05-2009)
Kommentar
Fra : Peter


Dato : 24-05-09 13:16

Hej Stig!

> Men til gængæld får jeg en fejl i din version.

Det er lidt underligt. Jeg får en alert, hvis "rullemenuen" ikke er valgt.

> Den fejler fordi du i dette udsnit har rettet id til stort D i starten.
> ....
> <select size="1" name="Dette_er_en" id="Dette_er_en"

Er rettet til: <select size="1" name="Dette_er_en" id="dette_er_en"

Der er ved ændring af scriptet desværre kommet et nyt problem:
Tidligere fik jeg dennne alert fra scriptet: "Ugedag og dato passer ikke
sammen!" uanset hvilken af de 2 første menuer der var forkerte. Nu kan jeg
vælge en hvilken som helst ugedag UDEN alert. Det er nu sådan, at "bare"
datoen passer "går alt igennem"!

Hvis jeg "laver" denne fejl: Mandag d. 24. maj 2009 får jeg ikke denne alert
(som tidligere): "Ugedag og dato passer ikke sammen!" men denne alert: "Vælg
en dato/klokkeslet som er i fremtiden!" (udelukkende på baggrund af datoen)

hilsen
Peter







Stig Johansen (24-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 24-05-09 16:26

"Peter" <petit@mobil.dk> wrote in message
news:4a193a7a$0$56777$edfadb0f@dtext02.news.tele.dk...
> Der er ved ændring af scriptet desværre kommet et nyt problem:
> Tidligere fik jeg dennne alert fra scriptet: "Ugedag og dato passer ikke
> sammen!" uanset hvilken af de 2 første menuer der var forkerte. Nu kan jeg
> vælge en hvilken som helst ugedag UDEN alert. Det er nu sådan, at "bare"
> datoen passer "går alt igennem"!

Nu får jeg fejl på 'vi skal spille til' her:
.....
var vi_skal_spille_til =
document.getElementById('vi_skal_spille_til');
if (vi_skal_spille_til.selectedIndex < 1 )
.....
Nede i HTML'et har du:
.....
   <select size="1" name="Vi_skal_spille_til" id="Vi_skal_spille_til"
tabindex="2">
.....det, der står som id=... skal matche det, der står i getElementById.
Når det ikke matcher fejler scriptet, og 'alt' er tilladt.

En hurtig skimming af din kode viser at det er det samme med 'klokkeslet' og
'Klokkeslet'.
.....
var klokkeslet = document.getElementById('klokkeslet');
.....
og
.....
<select size="1" name="Klokkeslet" id="Klokkeslet" tabindex="7">
.....> Hvis jeg "laver" denne fejl: Mandag d. 24. maj 2009 får jeg ikke denne
alert > (som tidligere): "Ugedag og dato passer ikke sammen!" men denne
alert: "Vælg > en dato/klokkeslet som er i fremtiden!" (udelukkende på
baggrund af datoen)Det er et spørgsmål om hvilken rækkefølge der bliver
testet i.Nu er rækkefølgen:....if ( mydate < today ) {
.....som tjekker på 'frem i tiden'derefter....if ( mydate.getFullYear() !=
aaretvalgt || mydate.getMonth()+1 != manedvalgt
.....som tjekker på en gyldig datoog til sidst....if ( ugedagvalgt !=
ugedag ) {
.....som tjekker på ugedagen i forhold til datoen.Disse 3 if 'blokke' kan du
bytte rundt på som du vil, så hvis du vil have tjekket på 'frem i tiden' til
sidst, så flyt det ned under tjekket på ugedagen, så den del af scriptet ser
sådan ud:....if ( ugedagvalgt != ugedag ) {
alert ('Ugedag og dato passer ikke sammen!');
dag.focus();
return false;
}

if ( mydate < today ) {
alert ('Vælg en dato/klokkeslet som er frem i tiden!' );
dato.focus();
return false;
}

.....Jeg har opdateret testversionen
her:http://w-o-p-r.dk/test/peter5.htmlDet du har skrevet med bestilling
samme dag mellem kl. 1 og 7 har jeg ikke svaret så meget på, men det kan
også lade sig gøre.Men man kan vel ikke bestille musik til kl. 7 hvis man
foretager bestillingen kl. 6:59 ?I testversionen har jeg lavet følgende:....
if ( today.getHours() > 6 ) { today.setHours(23);
today.setMinutes(59); } else { today.setHours(today.getHours() +
); }....Det betyder, at hvis bestillingen foretages før kl. 7, godkendes
den hvis der er mindst 2 timer til 'eventen'.Hvis i har sådan en regel, så
kan du rette de + 2 til det antal timer i synes.-- Med venlig hilsen/Best
regardsStig Johansen




Stig Johansen (24-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 24-05-09 16:51

OE laver åbenbart ged i det, men det skulle være:

Stig Johansen wrote:
[snip noget OE makværk]

Jeg har opdateret testversionen her:
<http://w-o-p-r.dk/test/peter5.html>

Det du har skrevet med bestilling samme dag mellem kl. 1 og 7 har jeg ikke
svaret så meget på, men det kan også lade sig gøre.
Men man kan vel ikke bestille musik til kl. 7 hvis man foretager
bestillingen kl. 6:59 ?

I testversionen har jeg lavet følgende:
.....
if ( today.getHours() > 6 ) {
today.setHours(23);
today.setMinutes(59);
} else {
today.setHours(today.getHours() + 2 );
}
.....
Det betyder, at hvis bestillingen foretages før kl. 7, godkendes den hvis
der er mindst 2 timer til 'eventen'.
Hvis i har sådan en regel, så kan du rette de + 2 til det antal timer i
synes.

--
Med venlig hilsen
Stig Johansen

Peter (25-05-2009)
Kommentar
Fra : Peter


Dato : 25-05-09 21:20

Hej Stig!

Vil det være muligt at få alerten "Vælg en dato/klokkeslet som er frem i
tiden!", både efter datovalget og efter valg af klokkeslet ?
Tidligere kom alerten "Datoen passer ikke til ugedagen", straks jeg valgte:
Søndag d. 29. februar 2009 = Søndag d. 1. marts 2009 - Nu skal der også
vælges et klokkeslet før end alerten kommer.
Du har faktisk forklaret det nedenfor. Jeg har prøvet at ændre det efter
bedste evne og alligevel kom det ikke til at virke. Nu har jeg desværre
ødelagt mit script som indtil dato virkede. Jeg troede jeg forstod "det
hele" og "overskrev" det tidligere script og flyttede rundt på "tingene"
uden at have en backup af formularen. Derfor kan mine aktuelle spørgsmål
måske undre dig en smule, men det er udelukkende fordi jeg er "bombet
tilbage til fortiden". Jeg har nu et script der overhovedet ikke fungerer!
Håber du forstår! - Der er "noget" at arbejde igen forude

hilsen
Peter


http://w-o-p-r.dk/test/peter5.html

Det er et spørgsmål om hvilken rækkefølge der bliver
testet i.Nu er rækkefølgen:....if ( mydate < today ) {
.....som tjekker på 'frem i tiden'derefter....if ( mydate.getFullYear() !=
aaretvalgt || mydate.getMonth()+1 != manedvalgt
.....som tjekker på en gyldig datoog til sidst....if ( ugedagvalgt !=
ugedag ) {
.....som tjekker på ugedagen i forhold til datoen.Disse 3 if 'blokke' kan du
bytte rundt på som du vil, så hvis du vil have tjekket på 'frem i tiden' til
sidst, så flyt det ned under tjekket på ugedagen, så den del af scriptet ser
sådan ud:....if ( ugedagvalgt != ugedag ) {
alert ('Ugedag og dato passer ikke sammen!');
dag.focus();
return false;
}

if ( mydate < today ) {
alert ('Vælg en dato/klokkeslet som er frem i tiden!' );
dato.focus();
return false;
}



Rune Jensen (25-05-2009)
Kommentar
Fra : Rune Jensen


Dato : 25-05-09 22:12

Peter skrev:

> Derfor kan mine aktuelle spørgsmål
> måske undre dig en smule, men det er udelukkende fordi jeg er "bombet
> tilbage til fortiden". Jeg har nu et script der overhovedet ikke fungerer!
> Håber du forstår! - Der er "noget" at arbejde igen forude

Google cashe? Hvis det ikke er for lang tid siden, du skrottede
scriptet, bør du kunne finde det der, så længe det er enten HTML eller
JS. Jeg har brugt den metode før selv.


MVH
Rune Jensen

Stig Johansen (26-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 26-05-09 05:46

"Peter" <petit@mobil.dk> wrote in message
news:4a1afd5f$0$56792$edfadb0f@dtext02.news.tele.dk...
> Hej Stig!
>
> Vil det være muligt at få alerten "Vælg en dato/klokkeslet som er frem i
> tiden!", både efter datovalget og efter valg af klokkeslet ?

Ja, det har jeg nu lagt ind i testversionen
http://w-o-p-r.dk/test/peter5.html

> Tidligere kom alerten "Datoen passer ikke til ugedagen", straks jeg
valgte:
> Søndag d. 29. februar 2009 = Søndag d. 1. marts 2009 - Nu skal der også
> vælges et klokkeslet før end alerten kommer.

Ja, for jeg flyttede tjekket på udfyldelse op, men nu har jeg flyttet lidt
mere rundt på tingene.


> Du har faktisk forklaret det nedenfor. Jeg har prøvet at ændre det efter
> bedste evne og alligevel kom det ikke til at virke. Nu har jeg desværre
> ødelagt mit script som indtil dato virkede. Jeg troede jeg forstod "det
> hele" og "overskrev" det tidligere script og flyttede rundt på "tingene"
> uden at have en backup af formularen. Derfor kan mine aktuelle spørgsmål
> måske undre dig en smule, men det er udelukkende fordi jeg er "bombet
> tilbage til fortiden". Jeg har nu et script der overhovedet ikke fungerer!
> Håber du forstår! - Der er "noget" at arbejde igen forude

Så meget arbejde behøver det ikke at være.
Du skal blot kalde testversionen, og lave en vis kilde.
Herfra kan du klippe-klistre dele af scriptet over i din egen formular.

Men afprøv om dato/tid virker som du ønsker, så vi får den del 'færdig'
inden du kopierer.

Vær opmærksom på, at min tyestversion ikke indeholder tjek af email m.m., så
du skal kun bruge den del der har med dato/tid at gøre.

--
Med venlig hilsen/Best regards
Stig Johansen




Peter (26-05-2009)
Kommentar
Fra : Peter


Dato : 26-05-09 21:30

Hej Stig!

Kan dit script sættes til at give en "alert" hvis PC uret viser 22.00 og man
vil foretage en bestilling til kl. 6.00 næste dag. Altså 8 timer efter
"aktuel tid"? Jeg har "rettet" på 6-tallet i 2. linie samt 2-tallet i 6.
linie, men det ændrede ikke på "tingene"

var today = new Date();
if ( today.getHours() > 6 ) {
today.setHours(23);
today.setMinutes(59);
} else {
today.setHours(today.getHours() + 2 );
}

hilsen
Peter

> Men afprøv om dato/tid virker som du ønsker, så vi får den del 'færdig'
> inden du kopierer.
>
> Vær opmærksom på, at min tyestversion ikke indeholder tjek af email m.m.,
> så
> du skal kun bruge den del der har med dato/tid at gøre.
>
> --
> Med venlig hilsen/Best regards
> Stig Johansen



Stig Johansen (27-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 27-05-09 05:29

Peter wrote:

> Kan dit script sættes til at give en "alert" hvis PC uret viser 22.00 og
> man vil foretage en bestilling til kl. 6.00 næste dag. Altså 8 timer efter
> "aktuel tid"?

Du må være lidt mere præcis.

Som det er nu, gør denne stump:
> if ( today.getHours() > 6 ) {
> today.setHours(23);
> today.setMinutes(59);
Hvis klokken er mere end 6 (dvs kl 7 og fremefter), så sættes 'uret til
23:59 hvilket betyder at bestilligen skal ligge næste dag og fremefter.

Denne sætning:
> today.setHours(today.getHours() + 2 );
Sætter 'uret' 2 (eller 8) timer frem.

Det er kun klokken, der sættes her, så den virker kun inden for samme dato.

Man kan godt lave et tjek, der siger at tidspunktet altid skal være 8 timer
frem.

Men nu skriver du 'alert' så hvad mener du med det?
Skal man bare skrive "Advaserl <et eller andet>" og så acceptere den?
Hvad nu hvis det er kl. 23 og bestilling til kl 7?

Prøv at beskrive lidt i ord hvornår man kan bestille hvad, og med hvilken
tidsfrist.

Hvis man laver en masse små tests, risikerer vi de 'falder over hinanden'.

--
Med venlig hilsen
Stig Johansen

Peter (27-05-2009)
Kommentar
Fra : Peter


Dato : 27-05-09 08:05

Hej Stig!

> Man kan godt lave et tjek, der siger at tidspunktet altid skal være 8
> timer
> frem.

Ja, det var lige dét jeg havde tænkt mig!

> Men nu skriver du 'alert' så hvad mener du med det?
> Skal man bare skrive "Advaserl <et eller andet>" og så acceptere den?
> Hvad nu hvis det er kl. 23 og bestilling til kl 7?

Det er lige dét der er "problemet"! Måske burde der laves et tjek, der siger
at tidspunktet altid skal være 10 timer frem, for ikke at få et "akut"
bestilling kl. 21 og allerede "er på vej" til køjs og derfor ikke ser
formularen! Jeg har ofte været ude for at når familie og venner mødes
aftenen før "dagen" for at lave æresport, finder ud af at ingen har bestilt
"noget" musik. Alerten: "Skal du have musik allerede i morgen tidlig, så
ring tlf. 26 46 46 90"

hilsen
Peter



Stig Johansen (27-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 27-05-09 10:32

Peter wrote:

>> Man kan godt lave et tjek, der siger at tidspunktet altid skal være 8
>> timer
>> frem.
>
> Ja, det var lige dét jeg havde tænkt mig!
>
> Det er lige dét der er "problemet"! Måske burde der laves et tjek, der
> siger at tidspunktet altid skal være 10 timer frem, for ikke at få et
> "akut" bestilling kl. 21 og allerede "er på vej" til køjs og derfor ikke
> ser formularen! Jeg har ofte været ude for at når familie og venner mødes
> aftenen før "dagen" for at lave æresport, finder ud af at ingen har
> bestilt "noget" musik. Alerten: "Skal du have musik allerede i morgen
> tidlig, så ring tlf. 26 46 46 90"

Indledningsvis så er det edderhakkemig dårlig planlægning hvis familien
laver æresportr og har 'glemt' morgenmusikken.

Men bortset fra det, så kan det også laves så der skal bestilles 10 timer i
forvejen.

Eller 8 timer hvis det er dét.

EDB er lidt matematisk, så du må finde nogle eksakte regler.
Før skrev du kl. 22 og 8 timer, og nu er det kl. 21 og 10 timer.

Jeg vil godt bruge lidt tid, men så må du sætte nogle specifikke
forretningsregler.

--
Med venlig hilsen
Stig Johansen

Peter (27-05-2009)
Kommentar
Fra : Peter


Dato : 27-05-09 12:27


>> Jeg har en del gange været ude for at når familie og venner mødes
>> aftenen før "dagen" for at lave æresport, finder ud af at ingen har
>> bestilt "noget" musik. Alerten: "Skal du have musik allerede i morgen
>> tidlig, så ring tlf. 26 46 46 90"
>
> Indledningsvis så er det edderhakkemig dårlig planlægning hvis familien
> laver æresportr og har 'glemt' morgenmusikken.

Det sker når familien og vennerne hver især kender nogle der spiller
morgenmusik og lige vil spørge "disse" først. Det viser sig at ingen af
"disse" kunne alligevel og når der så slet ikke er feedback eller
"topstyring" på, opdager man "problemet" aftenen før.

> Men bortset fra det, så kan det også laves så der skal bestilles 10 timer
> i
> forvejen.
>
> EDB er lidt matematisk, så du må finde nogle eksakte regler.
> Før skrev du kl. 22 og 8 timer, og nu er det kl. 21 og 10 timer.
>
> Jeg vil godt bruge lidt tid, men så må du sætte nogle specifikke
> forretningsregler.

Hvis jeg forstår det rigtigt så skal du have et klokkeslet for hvornår det
er seneste
acceptable tidspunkt for bestilling (på formularen) dagen/aftenen før
"dagen" må
være, for at kunne lave bl.a. sange, give besked til "de øvrige" af
musikerne m.m.
Så bør klokkeslettet være: KL. 20.00 - Derefter bør der komme en alert, når
man
sender formularen: "Skal du have musik (allerede) i morgen tidlig, så ring
tlf. 26 46 46 90"

hilsen
Peter




Stig Johansen (28-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 28-05-09 05:33

Peter wrote:

> Hvis jeg forstår det rigtigt så skal du have et klokkeslet for hvornår det
> er seneste
> acceptable tidspunkt for bestilling (på formularen) dagen/aftenen før
> "dagen" må
> være, for at kunne lave bl.a. sange, give besked til "de øvrige" af
> musikerne m.m.
> Så bør klokkeslettet være: KL. 20.00 - Derefter bør der komme en alert,
> når man
> sender formularen: "Skal du have musik (allerede) i morgen tidlig, så ring
> tlf. 26 46 46 90"

Vi kan lave det så en bestilling altid skal ligge eks. 10-12 timer frem i
tiden, ellers en alert om at ringe.

Det er vel ok at bestille til eks. kl 16 dagen efter, selv om klokken er
20:30 eller ?

Hvad med bestilling til samme dag hvis det er før kl. 7 ?

Når du skriver alert, mener du så at formularen skal sendes efterfølgende,
eller skal den bare skrive 'fejlen' og afvise forsendelsen ?

Jeg skal nok lave det, men jeg skal lige være sikker på jeg forstår det
rigtigt.

--
Med venlig hilsen
Stig Johansen

Peter (28-05-2009)
Kommentar
Fra : Peter


Dato : 28-05-09 12:21

Hej Stig!

> Vi kan lave det så en bestilling altid skal ligge eks. 10-12 timer frem i
> tiden, ellers en alert om at ringe.
>
> Det er vel ok at bestille til eks. kl 16 dagen efter, selv om klokken er
> 20:30 eller ?
>
> Hvad med bestilling til samme dag hvis det er før kl. 7 ?

Scriptet må gerne afvise afsendelsen af en formular, hvis der er mindre end
24 timer til det ønskede/valgte spilletidspunkt.

> Når du skriver alert, mener du så at formularen skal sendes efterfølgende,
> eller skal den bare skrive 'fejlen' og afvise forsendelsen ?

Jeg vil mene at en afvisning + "alert" er det bedste, for at undgå "falsk
tryghed" hos kunden.
Alert: "Det er ikke muligt at bestille (via formularen) "så tæt på"
spilletidspunktet - Ring 26 46 46 90 og få en personlig betjening!" (Evt.
kortere ordlyd)

> Jeg skal nok lave det, men jeg skal lige være sikker på jeg forstår det
> rigtigt.
>
> --
> Med venlig hilsen
> Stig Johansen



Stig Johansen (28-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 28-05-09 13:12

Peter wrote:

> Scriptet må gerne afvise afsendelsen af en formular, hvis der er mindre
> end 24 timer til det ønskede/valgte spilletidspunkt.

Done.

> Jeg vil mene at en afvisning + "alert" er det bedste, for at undgå "falsk
> tryghed" hos kunden.
> Alert: "Det er ikke muligt at bestille (via formularen) "så tæt på"
> spilletidspunktet - Ring 26 46 46 90 og få en personlig betjening!" (Evt.
> kortere ordlyd)

Prøv at se om
<http://w-o-p-r.dk/test/peter5.html>
opfylder dine krav.


--
Med venlig hilsen
Stig Johansen

Peter (28-05-2009)
Kommentar
Fra : Peter


Dato : 28-05-09 14:49

Hej Stig!

Jeg har sagt det et par gange tidligere, men det kan (selvfølgelig) ikke
siges for tit:
1000 tak for din store tålmodighed og den hjælp du har ydet !!!

Mange hilsener
Peter



Peter (28-05-2009)
Kommentar
Fra : Peter


Dato : 28-05-09 17:36

Hej Stig!

Lige et spørgsmål mere!

Hvilken computer er det der "læser" Java Script'ene og dermed har med
tidstyringen på formularen at gøre ? (dato/klokkeslet)

1) Er det den enkelte brugers eget PC-ur 2) Eller er det den server hvor
hjemmesiden er placeret 3) Eller noget helt tredie?

hilsen
Peter



Stig Johansen (28-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 28-05-09 23:59

Peter wrote:

> Hvilken computer er det der "læser" Java Script'ene og dermed har med
> tidstyringen på formularen at gøre ? (dato/klokkeslet)

Det er browseren på brugernes PC, der udfører javascript, og dermed
dato/klokkeslet fra den lokale PC.

Hvis man skal tjekke mod dato/tid fra en server skal man have fat i noget
serverside scripting/programmering.

--
Med venlig hilsen
Stig Johansen

Peter (29-05-2009)
Kommentar
Fra : Peter


Dato : 29-05-09 07:20

"Hej Stig!

> Det er browseren på brugernes PC, der udfører javascript, og dermed
> dato/klokkeslet fra den lokale PC.

D.v.s at "man" kan snyde formularens java script ved at "stille på uret",
både m.h.t. tidspunkt og dato?

> Hvis man skal tjekke mod dato/tid fra en server skal man have fat i noget
> serverside scripting/programmering.

Er det "noget" som hører ind under det webhosting firma hvor hjemmesiden er
placeret ?

> --
> Med venlig hilsen
> Stig Johansen



Philip Nunnegaard (29-05-2009)
Kommentar
Fra : Philip Nunnegaard


Dato : 29-05-09 07:54

Peter skrev:

> D.v.s at "man" kan snyde formularens java script ved at "stille på uret",
> både m.h.t. tidspunkt og dato?

Ja!

--
Philip - http://chartbase.dk

Peter (29-05-2009)
Kommentar
Fra : Peter


Dato : 29-05-09 09:24

Hej Philip!

>> D.v.s at "man" kan snyde formularens java script ved at "stille på uret",
>> både m.h.t. tidspunkt og dato?
>
> Ja!

Stig skrev: Hvis man skal tjekke mod dato/tid fra en server skal man have
fat i noget
serverside scripting/programmering.

Mit spørgsmål: Er det "noget" som hører ind under det webhosting firma hvor
hjemmesiden er
placeret ?

hilsen
Peter



Birger Sørensen (29-05-2009)
Kommentar
Fra : Birger Sørensen


Dato : 29-05-09 09:57

Peter kom med følgende:
> Hej Philip!
>
>>> D.v.s at "man" kan snyde formularens java script ved at "stille på uret",
>>> både m.h.t. tidspunkt og dato?
>>
>> Ja!
>
> Stig skrev: Hvis man skal tjekke mod dato/tid fra en server skal man have fat
> i noget
> serverside scripting/programmering.
>
> Mit spørgsmål: Er det "noget" som hører ind under det webhosting firma hvor
> hjemmesiden er
> placeret ?
>
> hilsen
> Peter

serverside scripting er PHP eller ASP, eller en hel horde af andre
serverside sprog.
Humlen er, at brugeren ikke kan manipulere med hvad der sker på
serveren, som hyn kan med det der foregår på hyns egen maskine, som er
der hvor javascript afvikles.

Hvorfor tror du at folk vil gå til deres yderste ressourcer for at
snyde dig eller din formular, ved at bestille noget, som de godt ved
ikke kan leveres?


Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Peter (29-05-2009)
Kommentar
Fra : Peter


Dato : 29-05-09 21:07

Hej Birger!

>> D.v.s at man kan "snyde" formularens java script ved at stille på uret,
>> både m.h.t. tidspunkt og dato?

Ovenstående spørgsmål er ganske rigtigt formuleret af undertegnede, men
m.h.t. ordet "snyde" skal det i denne sammenhæng opfattes i betydningen af
om man "teknisk" (på egen PC) kunne manipulere med klokken, således at den
kunne afvige fra den realistiske tid. Spørgsmålet er kun stillet af ren og
skær nysgerighed og for at blive lidt klogere på "computer-verdenen" (bl.a.
script m.m.) Jeg har ingen forudfattet idé eller grund til at antage at
nogle bevidst eller forsætligt ville "snyde" mig eller min formular. Dette
blot til orientering hvis du fejlagtigt har misforstået mit spørsmål og hvad
der egentlig var mit ærinde!

> Hvorfor tror du at folk vil gå til deres yderste ressourcer for at snyde
> dig eller din formular, ved at bestille noget, som de godt ved ikke kan
> leveres?

hilsen
Peter



Birger Sørensen (29-05-2009)
Kommentar
Fra : Birger Sørensen


Dato : 29-05-09 22:59

Peter forklarede:
> Hej Birger!
>
>>> D.v.s at man kan "snyde" formularens java script ved at stille på uret,
>>> både m.h.t. tidspunkt og dato?
>
> Ovenstående spørgsmål er ganske rigtigt formuleret af undertegnede, men
> m.h.t. ordet "snyde" skal det i denne sammenhæng opfattes i betydningen af om
> man "teknisk" (på egen PC) kunne manipulere med klokken, således at den kunne
> afvige fra den realistiske tid. Spørgsmålet er kun stillet af ren og skær
> nysgerighed og for at blive lidt klogere på "computer-verdenen" (bl.a. script
> m.m.) Jeg har ingen forudfattet idé eller grund til at antage at nogle
> bevidst eller forsætligt ville "snyde" mig eller min formular. Dette blot til
> orientering hvis du fejlagtigt har misforstået mit spørsmål og hvad der
> egentlig var mit ærinde!
>
>> Hvorfor tror du at folk vil gå til deres yderste ressourcer for at snyde
>> dig eller din formular, ved at bestille noget, som de godt ved ikke kan
>> leveres?
>
> hilsen
> Peter

Javascript kører på brugerens PC, og bruger dens indbyggede ur.
Med Windowze kan man selv sætte klokken til noget andet end den faktisk
er. Derved "snyder" man scripts...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Stig Johansen (29-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 29-05-09 10:22

Peter wrote:

> Stig skrev: Hvis man skal tjekke mod dato/tid fra en server skal man have
> fat i noget
> serverside scripting/programmering.
>
> Mit spørgsmål: Er det "noget" som hører ind under det webhosting firma
> hvor hjemmesiden er
> placeret ?

Hvis du ikke har mulighed (aka dit webhostingfima) (time syncratinazion) ,
så - ja, så har du ikke mulighed.

Der findes NTP-servere, og i primitive tilfælde stratum 2+ servere, men jeg
tror det er lidt ud over dit behov.

--
Med venlig hilsen
Stig Johansen

Stig Johansen (29-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 29-05-09 10:28

Stig Johansen wrote:

> Der findes NTP-servere, og i primitive tilfælde stratum 2+ servere, men
> jeg tror det er lidt ud over dit behov.

Jeg er ked af at skrive det, men det er 'way out of your legue'

--
Med venlig hilsen
Stig Johansen

Peter (29-05-2009)
Kommentar
Fra : Peter


Dato : 29-05-09 21:21

Hej Stig!

>> Der findes NTP-servere, og i primitive tilfælde stratum 2+ servere, men
>> jeg tror det er lidt ud over dit behov.
>
> Jeg er ked af at skrive det, men det er 'way out of your legue'


Helt enig! (som allerede besvaret i dit forrige indlæg)

Jeg mener faktisk heller ikke at jeg har server "behov" som ligger udover
det almindelige

hilsen
Peter



Peter (29-05-2009)
Kommentar
Fra : Peter


Dato : 29-05-09 21:13

Hej Stig!

> Der findes NTP-servere, og i primitive tilfælde stratum 2+ servere, men
> jeg
> tror det er lidt ud over dit behov.

Det tror jeg også!

Jeg mener faktisk heller ikke at jeg har server "behov" som ligger udover
det almindelige.

hilsen
Peter



Jens Peter Karlsen (29-05-2009)
Kommentar
Fra : Jens Peter Karlsen


Dato : 29-05-09 00:40

JavaScript afvikles clientside så det vil altså være brugerens ur der
gælder.

Regards Jens Peter Karlsen


On Thu, 28 May 2009 18:35:59 +0200, "Peter" <petit@mobil.dk> wrote:

>Hvilken computer er det der "læser" Java Script'ene og dermed har med
>tidstyringen på formularen at gøre ? (dato/klokkeslet)

Peter (29-05-2009)
Kommentar
Fra : Peter


Dato : 29-05-09 07:21

Hej Jens Peter!

> JavaScript afvikles clientside så det vil altså være brugerens ur der
> gælder.

D.v.s at "man" kan snyde formularens java script ved at "stille på uret",
både m.h.t. tidspunkt og dato?

hilsen
Peter



Jens Peter Karlsen (29-05-2009)
Kommentar
Fra : Jens Peter Karlsen


Dato : 29-05-09 11:52

Ja, men til dit brug er der formentlig ingen der vil prøve at snyde.
Hvad skulle de få ud af det?

On Fri, 29 May 2009 08:21:09 +0200, "Peter" <petit@mobil.dk> wrote:

>D.v.s at "man" kan snyde formularens java script ved at "stille på uret",
>både m.h.t. tidspunkt og dato?

Peter (29-05-2009)
Kommentar
Fra : Peter


Dato : 29-05-09 21:16

Hej Jens Peter!

> Ja, men til dit brug er der formentlig ingen der vil prøve at snyde.
> Hvad skulle de få ud af det?

>> D.v.s at man kan "snyde" formularens java script ved at stille på uret,
>> både m.h.t. tidspunkt og dato?

Ovenstående spørgsmål er ganske rigtigt formuleret af undertegnede, men
m.h.t. ordet "snyde" skal det i denne sammenhæng opfattes i betydningen af
om man "teknisk" (på egen PC) kunne manipulere med klokken, således at den
kunne afvige fra den realistiske tid. Spørgsmålet er kun stillet af ren og
skær nysgerighed og for at blive lidt klogere på "computer-verdenen" (bl.a.
script m.m.) Jeg har ingen forudfattet idé eller grund til at antage at
nogle bevidst eller forsætligt ville "snyde" mig eller min formular. Dette
blot til orientering hvis du fejlagtigt har misforstået mit spørsmål og hvad
der egentlig var mit ærinde!

hilsen
Peter



Peter (21-05-2009)
Kommentar
Fra : Peter


Dato : 21-05-09 08:02

Hej Stig! (og andre)

Når man anvender nedenstående script "går den igennem uden alert" hvis man
vælger "dags dato". Kan scriptet tilpasses således, at det giver en "alert"
ved "dags dato" også ? - På forhånd. Tak !!!

hilsen
Peter

>> Kan man udvidde
>> scriptet, således at man ikke kam vælge en dato som er
>> "ældre" end det aktuelle tidspunkt man udfylder formularen ?

> Ja, jeg har testet følgende:
> ....
> var today = new Date();
> if ( mydate < today ) {
> alert ('Du skal vælge en dato frem i tiden' );
> dato.focus();
> return false;
> }
> --
> Med venlig hilsen/Best regards
> Stig Johansen



Stig Johansen (21-05-2009)
Kommentar
Fra : Stig Johansen


Dato : 21-05-09 10:05

Peter wrote:

> Når man anvender nedenstående script "går den igennem uden alert" hvis man
> vælger "dags dato".

Ja, for der tjekkes kun på datoen og ikke tidspunktet.

> Kan scriptet tilpasses således, at det giver en
> "alert" ved "dags dato" også ?

Hvis du tænker på tidspunkt inden for 'dags dato', så ja - men..
Du har skiftet(siden jeg så det sidst) valg fra 'lovlige' klokkeslet til 2
comboboxe med hhv. timer og ½ timer.

Ideén er god nok, men hvis du fluktuerer over forskellige løsninger, tror
jeg ikke du får meget medvind.

--
Med venlig hilsen
Stig Johansen

Peter (21-05-2009)
Kommentar
Fra : Peter


Dato : 21-05-09 18:38

Hej Stig "og andre"

>> Når man anvender nedenstående script "går den igennem uden alert" hvis
>> man
>> vælger "dags dato".
>
> Ja, for der tjekkes kun på datoen og ikke tidspunktet.

Kan scriptet ikke kodes på en sådan måde, at "dags dato" (sammen med ældre
datoer) ikke kan vælges, da det ikke er muligt at bestille "morgenmusik" til
samme dag, med mindre man udfylder formularen i tidsrummet 00.01 - 07.00, da
alerten har følgende ordlyd: 'Du skal vælge en dato frem i tiden'. Derfor!

>> Kan scriptet tilpasses således, at det giver en
>> "alert" ved "dags dato" også ?
>
> Hvis du tænker på tidspunkt inden for 'dags dato', så ja - men..

Se ovenfor!

> Du har skiftet(siden jeg så det sidst) valg fra 'lovlige' klokkeslet til 2
> comboboxe med hhv. timer og ½ timer.

Det er "rigtigt". Jeg har experimenteret lidt i den senere tid. Jeg vil
gerne "nøjes" med en enkelt løsning med kun et check at datoen (og ikke
nødvendigvis på klokkeslettet også).

> Ideén er god nok, men hvis du fluktuerer over forskellige løsninger, tror
> jeg ikke du får meget medvind.

Siden er nu ført tilbage til det tidligere "design", altså med en
klokkeslet-box,
og vil dermed gerne have lidt "medvind" igen

Linket til siden er stadig www.morgenmusikken.dk/formular+.htm

hilsen
Peter



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste