Jesper TMedlem sedan nov. 20017 144 inlägg Jag använder detta script för att ange datum. Men när jag skickar formuläret så blir det fel värden i <select>-fälten (det ser rätt ut men när värderna visas på en annas sida så blir det fel)
Det står: 1905-06-24
1900-01-10
1900-01-14
http://javascript.internet.com/forms/true-date-selector.html
Var är värdet till det riktiga datumet?
Jag skulle vilja ha det så här: 2002-11-15
ThomasaMedlem sedan aug. 2002351 inlägg hmm, men för mig funkar det rätt bra.., jag skickar dem med get i formuläret å då gick det iaf..,
<html>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! [url]http://javascript.internet.com[/url] -->
<!-- Created by: Lee Hinder, [email]lee.hinder@ntlworld.com[/email] -->
<!-- Begin
//set todays date
Now = new Date();
NowDay = Now.getDate();
NowMonth = Now.getMonth();
NowYear = Now.getYear();
if (NowYear < 2000) NowYear += 1900; //for Netscape
//function for returning how many days there are in a month including leap years
function DaysInMonth(WhichMonth, WhichYear)
{
var DaysInMonth = 31;
if (WhichMonth == "Apr" || WhichMonth == "Jun" || WhichMonth == "Sep" || WhichMonth == "Nov") DaysInMonth = 30;
if (WhichMonth == "Feb" && (WhichYear/4) != Math.floor(WhichYear/4)) DaysInMonth = 28;
if (WhichMonth == "Feb" && (WhichYear/4) == Math.floor(WhichYear/4)) DaysInMonth = 29;
return DaysInMonth;
}
//function to change the available days in a months
function ChangeOptionDays(Which)
{
DaysObject = eval("document.Form1." + Which + "Day");
MonthObject = eval("document.Form1." + Which + "Month");
YearObject = eval("document.Form1." + Which + "Year");
Month = MonthObject[MonthObject.selectedIndex].text;
Year = YearObject[YearObject.selectedIndex].text;
DaysForThisSelection = DaysInMonth(Month, Year);
CurrentDaysInSelection = DaysObject.length;
if (CurrentDaysInSelection > DaysForThisSelection)
{
for (i=0; i<(CurrentDaysInSelection-DaysForThisSelection); i++)
{
DaysObject.options[DaysObject.options.length - 1] = null
}
}
if (DaysForThisSelection > CurrentDaysInSelection)
{
for (i=0; i<(DaysForThisSelection-CurrentDaysInSelection); i++)
{
NewOption = new Option(DaysObject.options.length + 1);
DaysObject.add(NewOption);
}
}
if (DaysObject.selectedIndex < 0) DaysObject.selectedIndex == 0;
}
//function to set options to today
function SetToToday(Which)
{
DaysObject = eval("document.Form1." + Which + "Day");
MonthObject = eval("document.Form1." + Which + "Month");
YearObject = eval("document.Form1." + Which + "Year");
YearObject[0].selected = true;
MonthObject[NowMonth].selected = true;
ChangeOptionDays(Which);
DaysObject[NowDay-1].selected = true;
}
//function to write option years plus x
function WriteYearOptions(YearsAhead)
{
line = "";
for (i=0; i<YearsAhead; i++)
{
line += "<OPTION>";
line += NowYear + i;
}
return line;
}
// End -->
</script>
</HEAD>
<!-- STEP TWO: Insert the onLoad event handler into your BODY tag -->
<BODY onLoad="SetToToday('FirstSelect');">
<!-- STEP THREE: Copy this code into the BODY of your HTML document -->
<FORM name="Form1" method="get" action="test.html">
<SELECT name="FirstSelectDay">
<OPTION>1
<OPTION>2
<OPTION>3
<OPTION>4
<OPTION>5
<OPTION>6
<OPTION>7
<OPTION>8
<OPTION>9
<OPTION>10
<OPTION>11
<OPTION>12
<OPTION>13
<OPTION>14
<OPTION>15
<OPTION>16
<OPTION>17
<OPTION>18
<OPTION>19
<OPTION>20
<OPTION>21
<OPTION>22
<OPTION>23
<OPTION>24
<OPTION>25
<OPTION>26
<OPTION>27
<OPTION>28
<OPTION>29
<OPTION>30
<OPTION>31
</SELECT>
<SELECT name="FirstSelectMonth" onchange="ChangeOptionDays('FirstSelect')">
<OPTION>Jan
<OPTION>Feb
<OPTION>Mar
<OPTION>Apr
<OPTION>May
<OPTION>Jun
<OPTION>Jul
<OPTION>Aug
<OPTION>Sep
<OPTION>Oct
<OPTION>Nov
<OPTION>Dec
</SELECT>
<SELECT name="FirstSelectYear" onchange="ChangeOptionDays('FirstSelect')">
<SCRIPT language="JavaScript">
document.write(WriteYearOptions(50));
</SCRIPT>
</SELECT>
<input name="" type="submit">
</FORM>
<p><center>
<font face="arial, helvetica" size"-2">Free JavaScripts provided<br>
by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
</center><p>
<!-- Script Size: 4.29 KB -->
</body>
</html>
Hämtar du dem med ASP?, isf är det ju bara att hämta dem i den ordning du vill när du bygger upp datumet sen..
Jesper TMedlem sedan nov. 20017 144 inlägg Om jag använder "get" så får jag resultaten 00:00:00
Nej det funkar inte :(
JohnsenMedlem sedan juli 2000836 inlägg Eftersom det inte är något fel på den kod du hänvisar till, så måste det vara fel på din övriga kod.
Det är dock inte särskilt lätt att hjälpa till med konkreta lösningar, då vi inte sett röken av 'din' kod.
Jesper TMedlem sedan nov. 20017 144 inlägg Det löste sig. Det var ett fel med aspkoden och hade inget med javascriptet att göra.