Så här ser kontrollen Datumintervall ut i e-tjänstbyggaren.
Egenskap | Beskrivning |
Datum, från (tidigare: DefaultValueFrom) | Det datum som visas i från. Måste vara i formatet yyyy-mm-dd. För dagens datum, ange d. Dagens datum +5 dagar, ange +5 (eller -5 om du vill ha ett tidigare datum). |
Datum, till (tidigare: DefaultValueTo) | Det datum som visas i till. Måste vara i formatet yyyy-mm-dd. För dagens datum, ange d. Dagens datum +5 dagar, ange +5 (eller -5 om du vill ha ett tidigare datum). |
Visningsnamn, från (tidigare: DisplayNameFrom) | Text som visas vid från-fältet. |
Visningsnamn, till (tidigare: DisplayNameTo) | Text som visas vid till-fältet. |
För mer information kring kontrollens egenskaper se avsnittet Gemensamma egenskaper.
Om du använder dig av validering måste kontrollen innehålla giltiga datum för att man ska kunna gå vidare i e-tjänsten.
Se avsnittet Validera fält i din e-tjänst för fler exempel.
Standard valideringsscript ser ut på detta sätt
var from = getChildUniqueId([thisId], "from"); //Hämtar värdet i from. datum
var to = getChildUniqueId([thisId], "to"); //Hämtar värdet i tom. datum
//Vi kontrollerar att det är giltiga datum angivna och att tom. datum är senare än from. datum.
return isDate(from) && isDate(to) && !isDateLaterThan(from, to);
Om användaren måste ange ett from. datum som ska vara minst 10 dagar senare än dagens datum:
var from = getChildUniqueId([thisId], "from"); //Hämtar värdet i from. datum
var to = getChildUniqueId([thisId], "to"); //Hämtar värdet i tom. datum
//Sätter kontrolldatum till dagens datum + 10 dagar i variabeln d.
var d = new Date(); //Hämtar dagens datum
d.setDate(d.getDate() + 10); //Ändra till + 5 om du tex. vill lägga 5 dagar istället för 10
//Vi kontrollerar så att vi inte har ogiltiga datum, samt att tom. datum är senare än from. datum
if(isDateLaterThan(from, to) || (!isDate(from) || !isDate(to)))
{
return false; //Ej giltigt datum, då går valideringen inte igenom.
}
//Är valt from. datum senare än dagens datum + 10 dagar?
return d < $.datepicker.parseDate("yy-mm-dd", getValue(getChildUniqueId([thisId], "from")));
Här vill vi veta om användaren väljer/ändrar ett datum.
//Eftersom datumintervall innehåller två fält, from och tom, så finns det två olika kontroller som vi kan arbeta med via scriptet.
//Vill vi arbeta med datumfälten så tar vi kontrollens unika id och lägger till "_from" eller "_to" efter, beroende på vilken kontroll vi vill jobba med. Se exempel nedan.
//Lägger till en funktion som kollar om användaren ändrar i ett av datumfälten
$("#6ff8da02-863b-4c7f-8fdb-0b86736400d2_from, #6ff8da02-863b-4c7f-8fdb-0b86736400d2_to").change(function()
{
//En dialog med valda datum visas i detta exempel. Lägg till din önskade funktion här istället.
alert($("#6ff8da02-863b-4c7f-8fdb-0b86736400d2_from").val() + " " + $("#6ff8da02-863b-4c7f-8fdb-0b86736400d2_to").val());
});
Datumkontrollen innehåller flera kontroller, from och tom datum. Därför måste vi arbeta med kontrollen på ett speciellt sätt i våra script.
Kontrollnamnet för fråndatum är from och för tomdatum är to. Då kan vi tex. hämta värdet på detta sätt:
getValue(getChildUniqueId([thisId], "from"));
getValue(getChildUniqueId([thisId], "to"));
Se avsnittet Script i din e-tjänst för fler exempel.