webForumDet fria alternativet
Logga in / Bli medlem

Koll av datum formatering

JavaScript

4 svar · 291 visningar · startad av Arne

Medlem sedan maj 2000267 inlägg
Trådstart#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?

Medlem 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;}

}
Medlem 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?

Medlem 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>
Medlem sedan maj 2000267 inlägg
#5

Funkar perfekt

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

251 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)