The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"select, selectedIndex и IE"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"select, selectedIndex и IE"  
Сообщение от MAK email(ok) on 19-Сен-06, 19:44 
Добрый день. Сегодня столкнулся с очень интересной проблемой.
если список (<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);

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "select, selectedIndex и IE"  
Сообщение от XAnder (??) on 21-Сен-06, 09:48 
>window.onload = ChangeHouse(document.forms[0].house, document.forms[0].doorway, 3);

Попробуйте так:

document.body.onload = "ChangeHouse(document.forms[0].house, document.forms[0].doorway, 3)";

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "select, selectedIndex и IE"  
Сообщение от MAK email(ok) on 21-Сен-06, 17:32 
>>window.onload = ChangeHouse(document.forms[0].house, document.forms[0].doorway, 3);
>
>Попробуйте так:
>
>document.body.onload = "ChangeHouse(document.forms[0].house, document.forms[0].doorway, 3)";


не хочет :-\

единственное что придумал это в функциях перед ctl.selectedIndex=y ставить ctl.focus()

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "select, selectedIndex и IE"  
Сообщение от Lena (??) on 27-Апр-07, 17:36 

>единственное что придумал это в функциях перед ctl.selectedIndex=y ставить ctl.focus()

Спасибо! Очень помогло.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру