Неисправность JavaScript с установленным флажком в Internet Explorer 6 - PullRequest
0 голосов
/ 23 августа 2011

У меня есть этот скрипт, который должен проверять список флажков:

function onchangeSelectAllAnalysable() {
    var selectAll = document.forms[0].selectAllAnalysable;
    var selectedItems = document.forms[0].selectedItemsAnalysable;

    if(selectedItems != undefined) {
        if(selectedItems.length != undefined) {
            for (var i=0; i<selectedItems.length; i++) {
                selectedItems[i].checked = selectAll.checked;
            }
        } else {
            selectedItems.checked = selectAll.checked;
        }
    }
    toggleShuntDiscardButtons();
}

На FF Chrome и IE7 / 8/9 он работает нормально, но он мне нужен на IE6.Теперь, когда я активировал скрипт, я увидел, что он проходит через все поля и проверяет его, но в конце, когда они все проверены, они снова не проверяются.

Это кажется странным даже потому, что после этого скрипта ничеговыполняется ...

Спасибо Даниэле

1 Ответ

0 голосов
/ 23 августа 2011

Поскольку вы не опубликовали соответствующий исходный код, я добавил свою рабочую базу.После нескольких изменений мой код работает также с IE6.

Код:

<html>
<head>
<script type="text/javascript">
function onchangeSelectAllAnalysable()
{
    var selectAll = document.forms[0].elements["selectAllAnalysable"];
    var selectedItems = document.forms[0].elements["selectedItemsAnalysable"];

    if (typeof (selectedItems) == "object")
    {
        if(selectedItems.length != 0)
        {
            for (var i=0; i<selectedItems.length; i++) {
                selectedItems[i].checked = selectAll.checked;
            }
        } else {
            selectedItems.checked = selectAll.checked;
        }
    }
    toggleShuntDiscardButtons();
}
function toggleShuntDiscardButtons(){/*whatever you do here*/}
</script>
</head>
<body>
<form name="x" action="http://www.stackoverflow.com" method="post">
<input type="checkbox" name="selectedItemsAnalysable"><br>
<input type="checkbox" name="selectedItemsAnalysable"><br>
<p><input type="checkbox" name="selectAllAnalysable" onClick="onchangeSelectAllAnalysable()"></p>
</form>
</body>
</html>

Внимание!IE6 не принимает событие 'onChange' для радиокнопок и флажков.Вместо этого вы должны использовать 'onClick'.

Как вы писали, флажки будут перепроверены, и вы не предоставите код для функции toggleShuntDiscardButtons () , вы должны проверитькод там.Может быть, вы забыли какой-нибудь код для удаления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...