SitePoint Sponsor

User Tag List

Results 1 to 4 of 4

Thread: FireFox Issue

  1. #1
    SitePoint Enthusiast Star777Star's Avatar
    Join Date
    Apr 2010
    Location
    South Africa
    Posts
    27
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question FireFox Issue

    Hi there, I have a schedule on my website that works with asp and then a button that makes that you can select a certian date. So when the button is clicked a calender pops up and then you can select the date.

    But on firefox it doesn't appear right.

    On FireFox :

    and this is on IE :

    now this is the JS & html code I'm using on the page :

    Code:
    <SCRIPT LANGUAGE="JavaScript">
             // Initialize arrays.
             var months = new Array("January", "February", "March",
                "April", "May", "June", "July", "August", "September",
                "October", "November", "December");
             var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,
                30, 31, 30, 31);
             var days = new Array("Sunday", "Monday", "Tuesday",
                "Wednesday", "Thursday", "Friday", "Saturday");
    
             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 = event.srcElement.innerText + "/" + document.all.month.value +   "/" + document.all.year.value;
    				  document.all.ret.value = sDate;
     		  		  window.close();
             }
          </SCRIPT>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>
       <BODY ONLOAD="newCalendar()" OnUnload="window.returnValue = document.all.ret.value;">
       <input type="hidden" name="ret">
          <TABLE ID="calendar">
             <THEAD>
                <TR>
                   <TD COLSPAN=7 ALIGN=CENTER>
                      <!-- 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>
                   </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><Input Style="width:50pt" type=button value="Cancel" OnClick="Cancel();"></center>
       </BODY>
    </HTML>
    
    <Script Language="JavaScript1.2">
    
    	function Cancel() {
    		document.all.ret.value = "";
    		window.close();
    	}
    
    </script>
    any idea why firefox does that, and what i can change.
    Attached Images Attached Images

  2. #2
    SitePoint Evangelist TommiChi's Avatar
    Join Date
    Oct 2008
    Posts
    440
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    document.all is not supported in Firefox. You would have to use getElementById or getElementsByTagName to achieve the desired result.

  3. #3
    SitePoint Enthusiast Star777Star's Avatar
    Join Date
    Apr 2010
    Location
    South Africa
    Posts
    27
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I tried changing the document.all but its stil not working, maybe I'm doing it wrong because when changing it it even won't work in IE.

  4. #4
    SitePoint Evangelist TommiChi's Avatar
    Join Date
    Oct 2008
    Posts
    440
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Please include the new source code you are using, so that I can see how you have changed your code.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •