Avatar billede moso Nybegynder
18. december 2006 - 13:35 Der er 13 kommentarer og
1 løsning

Hvordan tjekker jeg to datofelter on submit?

Jeg har brug for at sikre at brugere ikke søger efter en startdato som er større end slutdato.
Jeg har to felter: departure_date og arrival_date.
Når der søges sender de to felter afsted som form-værdier, der tjekkes i databasen, men jeg kan ikke finde ud af hvordan jeg skal sikre at den ene er større end den anden...
Nogen ideer?
Avatar billede moso Nybegynder
18. december 2006 - 13:36 #1
Datoformatet er: yyyy/mm/dd...
Avatar billede theprofessor Nybegynder
18. december 2006 - 13:37 #2
har du prøvet Julian Date?
Avatar billede moso Nybegynder
18. december 2006 - 13:41 #3
?
Avatar billede olebole Juniormester
18. december 2006 - 13:49 #4
<ole>

var a = ELEMENT_A.value;
var b = ELEMENT_B.value;
if (a.replace("/", "") > b.replace("/", "")) {
    alert("a er senere end b");
}

Men det er jo _kun_ for brugerens skyld, du tjekker med JavaScript på klienten. Hvis det overhovedet har nogen betydning, _skal_ du validere på serveren!
Der er absolut ingen sikkerhed i at validere med JS  ;o)

/mvh
</bole>
Avatar billede moso Nybegynder
18. december 2006 - 14:11 #5
Jeg kan ikke få det til at virke?
Her er min kode:
<script type="text/JavaScript">
<!--

function datocheck() 
var a = departure_date.value;
var b = arrival_date.value;
if (a.replace("/", "") > b.replace("/", "")) {
    alert("a er senere end b");
}

//-->
</script>
<form action="" method="get" name="search">
  <input name="arrival_date" type="text" value="2006/10/6" />
  <input name="departure_date" type="text" value="2006/10/5" />
  <input type="submit" name="Submit" value="Submit" />
</form>
Avatar billede roenving Novice
18. december 2006 - 16:25 #6
Hvornår skal du checke ?-)

F.eks. ved submit:

<form action="" method="get" name="search" onsubmit="return datocheck(this);">


function datocheck(f) 
var a = f.departure_date.value;
var b = f.arrival_date.value;
if ...
Avatar billede olebole Juniormester
19. december 2006 - 13:35 #7
- og husk at kalde din submit-knap for noget andet end 'submit'  ;o)
Avatar billede moso Nybegynder
19. december 2006 - 16:08 #8
Super - tjekker det imorgen, og vender tilbage...
Avatar billede moso Nybegynder
20. december 2006 - 16:02 #9
Jeg har prøvet denne her, men det vil ikke som planlagt...
<script type="text/JavaScript">
<!--

function datocheck() 
var a = departure_date.value;
var b = arrival_date.value;
if (a.replace("/", "") > b.replace("/", "")) {
    alert("a er senere end b");
}

//-->
</script>
<form action="" method="get" name="search" onsubmit="return datocheck(this);">
  <input name="arrival_date" type="text" value="2006/10/6" />
  <input name="departure_date" type="text" value="2006/10/5" />
  <input type="submit" name="Submit" value="Submit" />
</form>
Avatar billede olebole Juniormester
20. december 2006 - 16:12 #10
<script type="text/JavaScript">
function datocheck(f) {
    var a = f.departure_date.value;
    var b = f.arrival_date.value;

    if (a.replace("/", "") > b.replace("/", "")) {
        alert("a er senere end b");
    }
}
</script>

<form action="" method="get" name="search" onsubmit="return datocheck(this);">
  <input name="arrival_date" type="text" value="2006/10/6" />
  <input name="departure_date" type="text" value="2006/10/5" />
  <input type="submit" name="Submit" value="mySubmit" />
</form>
Avatar billede moso Nybegynder
20. december 2006 - 16:25 #11
Det ser ud til at køre fint. Point...
Avatar billede olebole Juniormester
20. december 2006 - 16:26 #12
Gerne ... og God Jul  *<|;o)
Avatar billede moso Nybegynder
20. december 2006 - 16:29 #13
Der. Og lige over...
Avatar billede olebole Juniormester
20. december 2006 - 16:42 #14
Tak for points  :)
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