Gå til innhold

[Løst]Feil i datovaliderings-script, Javascript.


Anbefalte innlegg

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 av nilsh
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...