Avatar billede cayenne Nybegynder
24. juni 2002 - 16:21 Der er 8 kommentarer og
1 løsning

Valider/sammenlign 2 datoer i formular

Jeg har en formular hvor folk kan skrive en Startdato og en Slutdato. Data bliver sendt til en database.

Jeg mangler en script der kan validere om værdien(datoen)i mit startdatofelt er mindre end eller lig med værdien i mit slutdatofelt.
Det skal være INDEN formularen bliver sendt til databasen.
Håber I kan hjælpe :o)(Giver gerne flere point)
Avatar billede medions Nybegynder
24. juni 2002 - 16:35 #1
Jeg tror du skal kigge en tur forbi her...
http://www.eksperten.dk/spm/120892

//>Rune
Avatar billede cayenne Nybegynder
24. juni 2002 - 16:51 #2
Ja, det er lige det jeg skal bruge. Men jeg kan ikke lige gennemskue hvordan jeg laver formatet om til dd-mm-åååå ?
Avatar billede medions Nybegynder
24. juni 2002 - 17:01 #3
Det kan du læse dig til på...
http://www.w3schools.com/js/js_datetime.asp

Det lærere du vidst mest af ;-)

//>Rune
Avatar billede cayenne Nybegynder
24. juni 2002 - 17:22 #4
Ja, det har du sikkert ret i, men det hjælper mig bare ikke så meget lige nu :o)
Avatar billede Slettet bruger
25. juni 2002 - 09:55 #5
Enten kan du se her:

http://www20.brinkster.com/phoen5/datopris.html

... eller også må du lige fortælle i hvilket format brugerne skal indtaste datoerne!
Avatar billede Slettet bruger
25. juni 2002 - 09:55 #6
P.S. Den lille checkbox på siden kan nemt fjernes igen.
Avatar billede cayenne Nybegynder
25. juni 2002 - 10:31 #7
Det er bare 2 bokse i en formular hvor man selv indskriver i formatet dd-mm-åååå (ex. 25-06-2002)Og når man så klikker på submit, skal scriptet lige tjekke om Slutdato nu også er senere eller lig med startdato. :o)
Avatar billede Slettet bruger
26. juni 2002 - 10:21 #8
Så er det her nok lige det, du søger:

<html>
<head>
<script>
function tjekDato(frm) {
st = frm.start.value;
sl = frm.slut.value;
reg = /^\d{2}-\d{2}-\d{4}$/;
if (!st.match(reg) || !sl.match(reg)) {
alert("Husk at indtaste en dato i begge felter!");
return false;
}
std = new Date(st.substring(6,10), st.substring(3,5), st.substring(0,2));
sld = new Date(sl.substring(6,10), sl.substring(3,5), sl.substring(0,2));
if (std.getTime() < sld.getTime())
return true;
alert("Slutdatoen skal være efter startdatoen!");
return false;
}
</script>
</head>
<body>
<form onSubmit="return tjekDato(this);">
<table>
<tr>
<td>
<b>Startdato:</b>
</td>
<td>
<input type="text" value="dd-mm-åååå" maxlength="10" name="start" onFocus="if (this.value == this.defaultValue) this.value = '';">
</td>
<tr>
<td>
<b>Slutdato:</b>
</td>
<td>
<input type="text" value="dd-mm-åååå" maxlength="10" name="slut" onFocus="if (this.value == this.defaultValue) this.value = '';">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<br>
<input type="submit" value="Indsend">
</td>
</tr>
</table>
</form>
</body>
</html>
Avatar billede cayenne Nybegynder
26. juni 2002 - 13:58 #9
Tusind tak, det var lige det jeg manglede :o)
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