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


Автор: Rip1ey 15.4.2009, 14:23
ребят привет, помогите пожалуйста. я начинающий программист..написал скрипт в котором находится несколько чекбоксов, сейчас их 4. а должно быть 49... мне нужно чтобы пока два чекбокса не нажаты, кнопка была не активной а когда 2 или более нажаты активна. вроде получилось сделать, но только с первым, верхним чекбоксом. Остальные почему-то всеравно включают кнопку...что делать не знаю...третий день сижу...
помогите пожалуйста...вот собственно сам скрипт:

<body>
<script type="text/javascript">
function isCheckAll(oForm, cbName)
{
    var bResult = true;
    for (var i=2; i < oForm[cbName].length; i+=2)
    {
        if(oForm[cbName][i].checked==true)
        {
            bResult = false;
            break;
        }
    }
    document.getElementById('btn_submit').disabled = bResult;
}
</script>
<form name="form1" method="post" action="">
  <p>
    <input type="checkbox" name="checkbox[]" value="checkbox" onclick="isCheckAll(this.form,'checkbox[]');">
    1<br />
    <input type="checkbox" name="checkbox[]" value="checkbox" onclick="isCheckAll(this.form,'checkbox[]');">
    2<br />
     <input type="checkbox" name="checkbox[]" value="checkbox" onclick="isCheckAll(this.form,'checkbox[]');">
    3<br />
    <input type="checkbox" name="checkbox[]" value="checkbox" onclick="isCheckAll(this.form,'checkbox[]');">
    4<br />
    <input name="btn_submit" type="submit" value="Отправить" disabled>
  
</form>
</body>


Добавлено @ 14:37
И он почему-то только под эксплорером и работает (((

Автор: bars80080 15.4.2009, 15:54
Цитата(Rip1ey @  15.4.2009,  14:23 Найти цитируемый пост)
почему-то только под эксплорером и работает 

это следствие таких конструкций малопонятных oForm[cbName]

попробуй так

Код

function isCheckAll(oForm, cbName) {
    var bResult = 0;
    var cb = oForm.getElementsByName(cbName);
    var cbL = cb.length;
    for (var i = 0; i < cbL; i++) {
        if(cb[i].checked) {
            bResult++;
            if(bResult > 1) { document.getElementById('btn_submit').disabled = false; return; }
        }
    }
    document.getElementById('btn_submit').disabled = true;
}

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