Добрый день. Сегодня столкнулся с очень интересной проблемой.
если список (<select>), при onChange вызывается функция для генерирования второго списка из массива. В эту же функцию передается текущий элемент. Необходимо "выставить" выбранный элемент после отправки формы (метод - post). Firefox, Opera все делают, а вот Explorer отказывается (хотя списки прогружает). В чем может быть проблема?
-[ исходник ]-------------------------------------
function ChangeHouse(ctl, d, curd)
{
// ctl - элемент, на котором "ловим" onChange
// d - элемент, куда надо "прогрузить" новый список
// curd - текущий/выбранный элемент
var node;
var frm = document.forms[0];
var doorways = [0, 5, 5, 5, 4, 3, 3, 4];
// количество элементов совпадает с количеством option'ов в ctl while (d.childNodes.length > 0)
d.removeChild(d.childNodes[0]);
node = document.createElement("option");
node.value = 0;
node.appendChild(document.createTextNode("№"));
d.appendChild(node);
if (ctl.selectedIndex > 0)
{
var cd = doorways[ctl.selectedIndex];
for (var i = 1; i <= cd; i++)
{
node = document.createElement("option");
node.value = i;
node.appendChild(document.createTextNode(i));
d.appendChild(node);
}
d.selectedIndex = curd;
}
}
...
<select name="house" onChange="ChangeHouse(this, this.form.doorway, 0);">
<option value="0" selected>№</option>
<!-- здесь идут дома -->
</select>
<select name="doorway" class="short">
<option value="0" selected>№</option>
</select>
...
window.onload = ChangeHouse(document.forms[0].house, document.forms[0].doorway, 3);