webForumDet fria alternativet

Koll av datum formatering

4 svar · 291 visningar · startad av Arne

ArneMedlem sedan maj 2000267 inlägg
#1

Jag är ute efter en funktion som kollar att datumet är rätt formaterat i formulärfältet innan man skickar formuläret.
Jag vill att man fyller i datumet på detta sätt:
2002-07-19 Alltså 4 siffror, bindestreck 2 siffror, bindestreck och 2 siffror.

Fyller man i t.ex så här:02/07/19 och klickar på Submit ska man få upp en alert ruta som talar om att man formaterat datumet fel.

Går det?

JohnsenMedlem sedan juli 2000836 inlägg
#2

Detta borde hindra felaktiga datum (kontrollerar även skottår mm)

function kollaDatum(datum){

var ar       = datum.substr(0,4);
var manad    = datum.substr(5,2);
var dag      = datum.substr(8,2);
var nytDatum = new Date(ar,manad-1,dag);

var msg = "du msåte skriva ett datum enligt: ÅÅÅÅ-MM-DD."

if(
 datum.length>10              ||
 datum.charAt(4)!="-"         ||
 datum.charAt(7)!="-"         ||
 nytDatum.getFullYear()!=ar   ||
 nytDatum.getMonth()+1!=manad ||
 nytDatum.getDate()!=dag
 ){alert(msg); return false;}

}
ArneMedlem sedan maj 2000267 inlägg
#3

får inte till det....

Hmmmmmmmmmmm, får inte till det. Måste villigt erkänna att jag är långt ifrån någon expert på javascript.

Jag har en include fil som kollar av några fältvärden med:

<script LANGUAGE="javascript">
<!--
function confirmkalender(frm)
{

if (frm.tavlingnamn.value == "")
	{
	alert("Du måste fylla i tävlingens namn.");
	return false;
	}

//------------------------------------------------------------

if (frm.tavlingdatum.value == "")
	{
	alert("Du måste fylla i ett startdatum för tävlingen.");
	return false;
	}
return true;
}

//-->
</script>

(filen innehåller flera if satser liknande scripten ovan, men tar inte med alla)

Jag försökte lägga in ditt förslag i den, men det blir bara error.

Jag kallar på include:en via:

<form name="form1" method="post" action="insert.asp" onsubmit="return confirmkalender(this);">

Att nämna är att formulärfältet jag vill kolla att datumet är rätt angett heter tavlingdatum

Några tips på hur jag kan lägga in ditt förslag i denna fil?

JohnsenMedlem sedan juli 2000836 inlägg
#4

Prova detta:

<script LANGUAGE="javascript"> 
<!-- 
function confirmkalender(frm) 
{ 

if (frm.tavlingnamn.value == "") 
{ 
alert("Du måste fylla i tävlingens namn."); 
return false; 
} 

//------------------------------------------------------------ 

var datum    = frm.tavlingdatum.value
var ar       = datum.substr(0,4);
var manad    = datum.substr(5,2);
var dag      = datum.substr(8,2);
var nytDatum = new Date(ar,manad-1,dag);

var msg = "du måste skriva ett datum enligt: ÅÅÅÅ-MM-DD."

if(
 datum.length>10              ||
 datum.charAt(4)!="-"         ||
 datum.charAt(7)!="-"         ||
 nytDatum.getFullYear()!=ar   ||
 nytDatum.getMonth()+1!=manad ||
 nytDatum.getDate()!=dag
 ){alert(msg); return false;}
 
return true; 
} 
//--> 
</script>
ArneMedlem sedan maj 2000267 inlägg
#5

Funkar perfekt

Man får tacka för hjälpen, det fungerar kanon...........

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)