Народ, подскажите плз как исправить такой косяк... Делаю органайзер для сайта, на странице добавления нового события есть форма из трёх раскрывающихся списков - day, month и year:
Понятно, что в каждом месяце определённое количество дней и я делал, чтобы при смене месяца, просчитывалось количество дней в этом месяце и менялось содержимое списка day. Вот скрипт полностью (сильно не пинайте, я новичёк в JS):
<script type='text/javascript'>
function isLeapYear(year) { // узнаём високосный ли год
if (year % 4 == 0) return true
return false
}
function getDays(month, year) { //узнаём сколько дней в месяце
var ar = new Array(12)
ar[1] = 31 // Январь
ar[2] = (isLeapYear(year)) ? 29 : 28 // Февраль
ar[3] = 31 // Март
ar[4] = 30 // Апрель
ar[5] = 31 // Май
ar[6] = 30 // Июнь
ar[7] = 31 // Июль
ar[8] = 31 // Август
ar[9] = 30 // Сентябрь
ar[10] = 31 // Октябрь
ar[11] = 30 // Ноябрь
ar[12] = 31 // Декабрь
return ar[month]
}
function gethtml(numb, selected) { //получаем вёрстку инпута
var b;
var i;
var r;
var s;
for (i=1; i<=numb; i++){
r=''+i
if (r.length<2) { //добавляем 0 вначало, если число однозначное
r='0'+r;
}
s=''
if (i==selected) { //выставляем день, который был выставлен вначале
s=' selected'
}
b = b+\"<option value='\"+r+\"'\"+s+\">\"+r+\"</option>\"
}
return b
}
function countday() { //главная функция, которая запускает все остальные
var day = document.getElementById('day');
var s=day.value;
var month = document.getElementById('month');
var year = document.getElementById('year');
var a = getDays(month.value, year.value);
day.innerHTML = '';
day.innerHTML = gethtml(a, s);
}
</script>
При смене месяца вызывается функция countday(). Всё отлично работает во всех браузерах кроме IE - в day получается пустой список. Я стал досконально перебирать код и выяснил, что innerHTML в IE вообще не работает, по крайней мере на селектак. Даже если для простоты вместо всего вышеизложенного написать так:
function countday() {
var day = document.getElementById('day');
day.innerHTML = '<option>test</option>';
}
IE всё-равно возвращает в day пустой список, а другие браузеры возвращают test. Подскажите плз как исправить ситуацию. =\