nilsh Skrevet 30. november 2009 Del Skrevet 30. november 2009 (endret) Får ikke en datosjekk til å fungere slik jeg vil. Har nå to script, det ene går gjennom skjemaet å finner ut om data mangler. (Dette er ikke tatt med her, det virker) I tillegg kaller det opp datosjekk-scriptet for å validere datoene. Kun det ene datofeltet "nesteservice" er med her. Feilen kommer når man har skrevet ett eller annet i datofeltet "nesteservice". Uavhengig om det er gyldig eller ikke kommer meldingen "Feil format på dato! Riktig format er dd-mm-åååå." Det er datosjekk-funksjonen som gir beskjed om dette. Når jeg trykker ok da, kommer jeg videre, uansett. Feil 1: Feilmeldingen "feil på dato........" uavhengig om det er feil på dato eller ikke. Feil 2: Man kommer videre selv om det er meldt om feil, og uavhengig av om det faktisk er feil datoformat eller ikke. Tips noen? <!-- START Validernynypumpe FORM-SJEKK --> function Validernynypumpe(){ var nesteservice=document.nypumpe.nesteservice if (nesteservice.value==""){ //Hvis ingen dato er skrevet.. var svar = confirm("Skal ikke pumpen ha flere servicer? Trykk 'OK' for å gå videre uten å registrere neste servicedato, trykk 'Avbryt' for å avbryte.") if (!svar) { nesteservice.focus() return false } } else { //Hvis dato er skrevet.. if (checkdate(nesteservice.value)==false){ //Sjekker validiteteten på datoen. nesteservice.focus() return false } } return true } <!--SLUTT nypumpe FORM-SJEKK--> <!--START DATO-SJEKK--> /**-------------------------- //* Validate Date Field script- By JavaScriptKit.com //* For this script and 100s more, visit http://www.javascriptkit.com //* This notice must stay intact for usage ---------------------------**/ function checkdate(input){ var validformat=/^\d{2}\-\d{2}\-\d{4}$/ //Basic check for format validity var returnval=false if (!validformat.test(input.value)) alert("Feil format på dato! Riktig format er dd-mm-åååå.") else{ //Detailed check for valid date ranges var dayfield=input.value.split("-")[0] var monthfield=input.value.split("-")[1] var yearfield=input.value.split("-")[2] var dayobj = new Date(yearfield, monthfield-1, dayfield) if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)) alert("Du har valgt en ugyldig dato! Prøv en annen dato") else returnval=true } if (returnval==false) input.select() return returnval } <!--SLUTT DATO-SJEKK--> Feil: if (checkdate(nesteservice.value)==false) skulle være: if (checkdate(nesteservice)==false) Uten ".value" Virker ikke logisk for meg men..... Endret 30. november 2009 av nilsh Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå