Avatar billede dottie Nybegynder
12. september 2003 - 21:54 Der er 3 kommentarer og
1 løsning

DatoPicker skal returnere måned og dag med 2 karakterer

Jeg har absolut ikke styr på JavaScript, men bruger en dato picker, som jeg har fået til at returnere datoen
med år måned dag.
I øjeblikket bliver en dato som eks. 9/9-2003 returneret sådan 200399, men jeg ønsker den returneret som 20030909.
Jeg kan ikke finde ud af, hvordan man får dette script til at sætte nuller ind, hvis måned eller dag er under 10.

Her er scriptet jeg bruger :

<%
response.expires = 0
%>
<HTML>
  <HEAD>
      <TITLE>Kalender</TITLE>
      <!-- This code can be reused as long as this copyright notice is not removed -->
      <!-- Copyright 1999 InsideDHTML.com, LLC.  All rights reserved.
          See www.siteexperts.com for more information.
      -->
<STYLE TYPE="text/css">
        .today {color:navy; font-weight:bold}
        .days {font-weight:bold; font-face:arial}
      </STYLE>
      <SCRIPT LANGUAGE="JavaScript">
        // Initialize arrays.
        var months = new Array("Januar", "Februar", "Marts",
            "April", "Maj", "Juni", "Juli", "August", "September",
            "Oktober", "November", "December");
        var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,
            30, 31, 30, 31);
        var days = new Array("Sø", "Ma", "Ti",
            "On", "To", "Fr", "Lø");
        function getDays(month, year) {
            // Test for leap year when February is selected.
            if (1 == month)
              return ((0 == year % 4) && (0 != (year % 100))) ||
                  (0 == year % 400) ? 29 : 28;
            else
              return daysInMonth[month];
        }
        function getToday() {
            // Generate today's date.
            this.now = new Date();
            this.year = this.now.getFullYear();
            this.month = this.now.getMonth();
            this.day = this.now.getDate();
        }
        // Start with a calendar for today.
        today = new getToday();
        function newCalendar() {
            today = new getToday();
            var parseYear = parseInt(document.all.year
              [document.all.year.selectedIndex].text);
            var newCal = new Date(parseYear,
              document.all.month.selectedIndex, 1);
            var day = -1;
            var startDay = newCal.getDay();
            var daily = 0;
            if ((today.year == newCal.getFullYear()) &&
                  (today.month == newCal.getMonth()))
              day = today.day;
            // Cache the calendar table's tBody section, dayList.
            var tableCal = document.all.calendar.tBodies.dayList;
            var intDaysInMonth =
              getDays(newCal.getMonth(), newCal.getFullYear());
            for (var intWeek = 0; intWeek < tableCal.rows.length;
                  intWeek++)
              for (var intDay = 0;
                    intDay < tableCal.rows[intWeek].cells.length;
                    intDay++) {
                  var cell = tableCal.rows[intWeek].cells[intDay];
                  // Start counting days.
                  if ((intDay == startDay) && (0 == daily))
                    daily = 1;
                  // Highlight the current day.
                  cell.className = (day == daily) ? "today" : "";
                  // Output the day number into the cell.
                  if ((daily > 0) && (daily <= intDaysInMonth))
                    cell.innerText = daily++;
                  else
                    cell.innerText = "";
              }
        }
        function getDate() {
            var sDate;
            // This code executes when the user clicks on a day
            // in the calendar.
            if ("TD" == event.srcElement.tagName)
              // Test whether day is valid.
              if ("" != event.srcElement.innerText)
                  //alert(event.srcElement.innerText);
                  sDate = document.all.year.value + "" + document.all.month.value + "" + event.srcElement.innerText;
                  document.all.ret.value = sDate;
                    window.close();
        }
      </SCRIPT>
  </HEAD>
  <BODY ONLOAD="newCalendar()" OnUnload="window.returnValue = document.all.ret.value;" bgcolor="#FFFFFF">
  <input type="hidden" name="ret">
      <TABLE ID="calendar">
        <THEAD>
            <TR>
              <TD COLSPAN=7 ALIGN=CENTER>
                  <font size="2" face="Arial">
                  <!-- Month combo box -->
                  <SELECT ID="month" ONCHANGE="newCalendar()">
                    <SCRIPT LANGUAGE="JavaScript">
                        // Output months into the document.
                        // Select current month.
                        for (var intLoop = 0; intLoop < months.length;
                              intLoop++)
                          document.write("<OPTION VALUE= " + (intLoop + 1) + " " +
                              (today.month == intLoop ?
                                "Selected" : "") + ">" +
                              months[intLoop]);
                    </SCRIPT>
                  </SELECT>
                  <!-- Year combo box -->
                  <SELECT ID="year" ONCHANGE="newCalendar()">
                    <SCRIPT LANGUAGE="JavaScript">
                        // Output years into the document.
                        // Select current year.
                        for (var intLoop =  today.year; intLoop > (today.year - 4);
                              intLoop--)
                          document.write("<OPTION VALUE= " + intLoop + " " +
                              (today.year == intLoop ?
                                "Selected" : "") + ">" +
                              intLoop);
                    </SCRIPT>
                  </SELECT>
                  </font>
              </TD>
            </TR>
            <TR CLASS="days">
              <!-- Generate column for each day. -->
              <SCRIPT LANGUAGE="JavaScript">
                  // Output days.
                  for (var intLoop = 0; intLoop < days.length;
                        intLoop++)
                    document.write("<TD>" + days[intLoop] + "</TD>");
              </SCRIPT>
            </TR>
        </THEAD>
        <TBODY ID="dayList"ALIGN=CENTER ONCLICK="getDate()">
            <!-- Generate grid for individual days. -->
            <SCRIPT LANGUAGE="JavaScript">
              for (var intWeeks = 0; intWeeks < 6; intWeeks++) {
                  document.write("<TR>");
                  for (var intDays = 0; intDays < days.length;
                        intDays++)
                    document.write("<TD></TD>");
                  document.write("</TR>");
              }
            </SCRIPT>
        </TBODY>
      </TABLE>
      <center><font size="2" face="Arial"><Input Style="width:50pt" type=button value="Cancel" OnClick="Cancel();"></font></center>
  </BODY>
</HTML>
<Script Language="JavaScript1.2">
    function Cancel() {
        document.all.ret.value = "";
        window.close();
    }
</script>
Avatar billede roenving Novice
12. september 2003 - 22:03 #1
function getDate() {
            var sDate;
            // This code executes when the user clicks on a day
            // in the calendar.
            if ("TD" == event.srcElement.tagName)
              // Test whether day is valid.
              if ("" != event.srcElement.innerText)
                  //alert(event.srcElement.innerText);
                  sDate = ""+ document.all.year.value +((document.all.month.value>9)?document.all.month.value:"0"+document.all.month.value) + ((event.srcElement.innerText>9)?event.srcElement.innerText:"0"+event.srcElement.innerText);
                  document.all.ret.value = sDate;
                    window.close();
        }
      </SCRIPT>
  </HEAD>
Avatar billede dottie Nybegynder
12. september 2003 - 22:08 #2
Tusind tak roenving, det var lige det jeg manglede *SS*
Jeg havde fundet ud af at det måtte være i den der sDate,
men havde absolut ingen anelse om hvordan jeg skulle ændre den.

Læg lige et svar, så du kan få dine point for hjælpen.
Avatar billede roenving Novice
12. september 2003 - 22:33 #3
Velbekomme '-)
Avatar billede roenving Novice
12. september 2003 - 22:43 #4
-- og tak for points ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester