Доброго времени суток.
Вообщем суть проблемы такая:
пишу Датапикер для сайта, код:
var datapicker=
{
init:function()
{
calendar=document.createElement('table');
with(calendar)
{
className="datapicker_calendar";
appendChild(MYControl=document.createElement('tr'));
with(MYControl)
{
appendChild(Month=document.createElement('th'));
with(Month)
{
colSpan=4;
appendChild(MonthControl=document.createElement('select'));
MonthControl.appendChild(Jan=document.createElement('option'));
with(Jan)
{
value=1;
text="Январь";
}
MonthControl.appendChild(Feb=document.createElement('option'));
with(Feb)
{
value=2;
text="Февраль";
}
MonthControl.appendChild(Mar=document.createElement('option'));
with(Mar)
{
value=3;
text="Март";
}
MonthControl.appendChild(Apr=document.createElement('option'));
with(Apr)
{
value=4;
text="Апрель";
}
MonthControl.appendChild(May=document.createElement('option'));
with(May)
{
value=5;
text="Май";
}
MonthControl.appendChild(Jun=document.createElement('option'));
with(Jun)
{
value=6;
text="Июнь";
}
MonthControl.appendChild(Jul=document.createElement('option'));
with(Jul)
{
value=7;
text="Июль";
}
MonthControl.appendChild(Aug=document.createElement('option'));
with(Aug)
{
value=8;
text="Август";
}
MonthControl.appendChild(Sep=document.createElement('option'));
with(Sep)
{
value=9;
text="Сентябрь";
}
MonthControl.appendChild(Oct=document.createElement('option'));
with(Oct)
{
value=10;
text="Октябрь";
}
MonthControl.appendChild(Nov=document.createElement('option'));
with(Nov)
{
value=11;
text="Ноябрь";
}
MonthControl.appendChild(Dec=document.createElement('option'));
with(Dec)
{
value=12;
text="Декабрь";
}
}
appendChild(Year=document.createElement('th'));
with(Year)
{
colSpan=3;
appendChild(YearControl=document.createElement('input'));
with(YearControl)
{
setAttribute("onkeypress","keyCode=event.charCode?event.charCode:event.keyCode; if(keyCode!=8 && (keyCode<48 || keyCode>57))return false")
style.width="3em";
setAttribute("maxlength","4")
}
}
}
Weeks=new Array();
for(n=0;n<5;n++)
{
lastWeek=document.createElement('tr');
Weeks[n]=lastWeek;
appendChild(lastWeek);
with(lastWeek)
{
Days=new Array();
for(nn=0;nn<7;nn++)
{
lastDay=document.createElement('td');
Days[nn]=lastDay;
appendChild(lastDay);
with(lastDay)
{
className="datapicker_day";
lastDay.innerHTML=' ';
}
}
}
}
appendChild(Applier=document.createElement('tr'));
}
document.body.appendChild(calendar);
datapicker.calendar=calendar;
collection=document.getElementsByTagName('INPUT');
for(n in collection)
{
element=collection[n];
if(element.className && element.className.match(/^(.*[\s]+)*datapicker([\s]+.*)*$/i) && element.type && element.type=='text')
{
this.convert(element);
}
document.body.focus();
}
},convert:function(element)
{
element.readOnly=true;
element.onfocus=function()
{
datapicker.showCalendar(this);
};
},showCalendar:function(element)
{
}
}
Проблема в строке
document.body.appendChild(calendar);
Таблица не вставляется в ИЕ, причём если сделать после этой строки
document.body.innerHTML=document.body.innerHTML
таблица появляется (тоесть все предыдущие операции добавляют таблицу но не выводят), но ссылка на неё в данном объекте теряется.
подскажите как быть