За последние 24 часа нас посетили 16795 программистов и 1644 робота. Сейчас ищут 909 программистов ...

AJAX в IE6: повторный вызов из select

Тема в разделе "JavaScript и AJAX", создана пользователем aikr, 21 янв 2011.

  1. aikr

    aikr Активный пользователь

    С нами с:
    21 янв 2011
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    Калуга
    Есть форма, в ней список (select), для которого указано onChange="showajax(this.value)"

    Всё благополучно работает в Firefox, Opera, Chrome, IE7.

    В IE6 — такое странное поведение: _один раз_ (первый после загрузки страницы) оно благополучно срабатывает, а дальше — нет. Дальше при смене элемента списка выводится сообщение «Скоро будет», но результат так и не приходит. Функция на req.onreadystatechange попросту не вызывается, хотя ответ на запрос приходит (ieHTTPHeaders показывает его заголовок).

    Обработчик AJAX и функция, обрабатывающая onChange, простейшие:

    [js]
    req.onreadystatechange = function()
    {
    if (req.readyState == 4)
    {
    if (req.status == 200)
    {
    document.getElementById('showresult').innerHTML = req.responseText;
    }
    else
    {
    document.getElementById('showresult').innerHTML = req.statusText;
    }
    }
    }

    function showajax(val)
    {
    param = "val=" + val;
    document.getElementById('showresult').innerHTML = "Скоро будет";
    req.open("POST", url, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send(param);
    }
    [/js]

    В чём может быть дело и как это можно исправить?