| Autor | Zpráva | ||
|---|---|---|---|
| Robert P. Profil * |
#1 · Zasláno: 8. 11. 2010, 20:19:55
Ahoj přátelé, potřeboval by jsem poradit jakým způsobem doprogramovat část kódu, konkrétně u přestupného roku aby měl únor 29 dní?
Zde zadávám kód, se kterým by jsem potřeboval pomoct:
<HTML>
<HEAD>
<TITLE> Výběr data </TITLE>
<SCRIPT Language="JavaScript">
<!--
// Počty dní v jednotlivých měsících
// Únor má pro jednoduchost vždy 29 dní
Days=new Array (30,29,31,30,31,30,31,31,30,31,30,31);
// Funkce, která se spustí při změně měsíce
function onChangeMonth(){
// Zapamatuje se vybraný den
var OldSelected = document.frmCalendar.selDay.selectedIndex;
// Smažou se všechny dny v nabídce
document.frmCalendar.selDay.options.length = 0
var optionName;
var Length;
// Počet dní v daném měsící
var NumOfDays =
Days[document.frmCalendar.selMonth.selectedIndex];
// Vloží se odpovídající počet dní do nabídky
for (i=1; i<=NumOfDays; i++){
// Vytvoří se nová položka pro den
optionName = new Option(i, i, false, false);
Length = document.frmCalendar.selDay.length;
document.frmCalendar.selDay.options[Length] = optionName;
}
// Vybere se den, který tam původně byl vybrán
if (OldSelected >= document.frmCalendar.selDay.length)
OldSelected = document.frmCalendar.selDay.length-1;
document.frmCalendar.selDay.options[OldSelected].selected =
true;
}
// Funkce pro získání výsledného data
function GetDate(){
DT = new Date (
document.frmCalendar.selYear.options[
document.frmCalendar.selYear.selectedIndex
].value,
document.frmCalendar.selMonth.options[
document.frmCalendar.selMonth.selectedIndex
].value,
document.frmCalendar.selDay.options[
document.frmCalendar.selDay.selectedIndex
].value
);
return (DT);
}
// -->
</SCRIPT>
</HEAD>
<BODY OnLoad="onChangeMonth();">
<FORM Name="frmCalendar" OnSubmit="return false;">
Zadejte datum:<BR>
<SELECT Name="selDay">
<OPTION Value="10" Selected>1</OPTION>
</SELECT>
<SELECT Name="selMonth" OnChange="onChangeMonth();">
<OPTION Value="1" Selected>Leden</OPTION>
<OPTION Value="2">Únor</OPTION>
<OPTION Value="3">Březen</OPTION>
<OPTION Value="4">Duben</OPTION>
<OPTION Value="5">Květen</OPTION>
<OPTION Value="6">Červen</OPTION>
<OPTION Value="7">Červenec</OPTION>
<OPTION Value="8">Srpen</OPTION>
<OPTION Value="9">Září</OPTION>
<OPTION Value="10">Říjen</OPTION>
<OPTION Value="11">Listopad</OPTION>
<OPTION Value="12">Prosinec</OPTION>
</SELECT>
<SELECT Name="selYear">
<OPTION Value="2000">2000</OPTION>
<OPTION Value="2001">2001</OPTION>
<OPTION Value="2002">2002</OPTION>
<OPTION Value="2003" Selected>2003</OPTION>
<OPTION Value="2004">2004</OPTION>
<OPTION Value="2005">2005</OPTION>
</SELECT>
<INPUT Type="Button" Value="GetDate" OnClick="alert (GetDate());">
</FORM>
</BODY>
</HTML>
Děkuji |
||
| _es Profil |
#2 · Zasláno: 8. 11. 2010, 20:34:57
|
||
|
Časová prodleva: 8 dní
|
|||
| Robert P. Profil * |
#3 · Zasláno: 16. 11. 2010, 14:34:51
Děkuji za radu, ale stále se mi nedaří kód aby to pracovalo správně - mohl by jsi mi prosimtě pomoci od základů tam tu funkci doprogramovat, repspektive popsat alespoň postup ať to lépe pochopím? Děkuji všem
Pro ukázku přikládám kód ověření datumu: function platnyDatum(den, mesiac, rok) {
var d = new Date(Date.UTC(rok, mesiac - 1, den));
return d.getUTCFullYear() === rok && d.getUTCMonth() === mesiac - 1 && d.getUTCDate() === den;
} |
||
|
Časová prodleva: 15 let
|
|||
0