Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Не срабатывет событие на чекбоксе


Автор: kaa 11.8.2006, 00:18
Такая трабла:  в checkbox-е прописано событие onclick, так вот када флажек устанавливаешь - обработчик вызывается, а када скидываешь - нет smile
Пробовал менять события на onMouseDown и onMouseUp - не помагает smile
Как быть? Как отловить сброс чекбокса?

(Модератор) Прошу исправить ошибки и относиться уважительно к читателям. На форуме пишут по-русски!

Автор: S.A.P. 11.8.2006, 07:52
Код покажи.

Автор: skyboy 11.8.2006, 09:36
почему не onchange?

Автор: S.A.P. 11.8.2006, 09:42
Цитата(skyboy @  11.8.2006,  09:36 Найти цитируемый пост)
почему не onchange? 

потому что в IE оно работает достаточно странным образом (срабатывает при потере фокуса).

Автор: kaa 11.8.2006, 23:32
Всё госпада! Всем спасибо! Нашел ошибку: задавал логические значения в обработчике строкой "false" и "true", а нада было false и true

Неработает
Код

function CheckClick()
{
    var m_button_applay = document.getElementById("ApplayButton");
    var admins_form = document.forms["admins_form"]; 
    var field_checked =" false";
    for(var i=0; i < admins_form.elements.length; i++)
    {
        if(admins_form.elements[i].type=="checkbox")
        {
            if(admins_form.elements[i].checked) 
            {
                field_checked = "true";
            }
        }
    }
    
    if(field_checked)
    {
        m_button_applay.disabled = false;
    }
    else
    {
        m_button_applay.disabled = true;
    }
}



Работает
Код

function CheckClick()
{
    var m_button_applay = document.getElementById("ApplayButton");
    var admins_form = document.forms["admins_form"]; 
    var field_checked = false;
    for(var i=0; i < admins_form.elements.length; i++)
    {
        if(admins_form.elements[i].type=="checkbox")
        {
            if(admins_form.elements[i].checked) 
            {
                field_checked = true;
            }
        }
    }
    
    if(field_checked)
    {
        m_button_applay.disabled = false;
    }
    else
    {
        m_button_applay.disabled = true;
    }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)