Javascript для отключения кнопок не работает в IE 9 - PullRequest
0 голосов
/ 11 ноября 2011

, поэтому я пишу интерфейс для обновления и отображения таблицы базы данных, и каждая строка, отображаемая на стороне клиента (с использованием DataTables), имеет кнопки «Редактировать» и «Удалить».Каждый раз, когда вы нажимаете кнопку Edit в отдельной строке, все кнопки Edit и Delete в других строках отключаются.Вот код Javascript, который я использую для этого:

        var editButtons = document.getElementsByName("EditRow");
        var deleteButtons = document.getElementsByName("DeleteRow");

        for (i in editButtons) {
            editButtons[i].disabled = true;
        }

        for (i in deleteButtons) {
            deleteButtons[i].disabled = true;
        }

Это прекрасно работает с Chrome и Firefox, но когда я пробую его в IE9, он ничего не отключает.Я пробовал много вещей, чтобы решить эту проблему, в том числе захват объектов DOM с помощью jQuery, но ничего не помогло.Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 11 ноября 2011

document.getElementsByName возвращает список узлов , который похож на массив.Вы должны относиться к нему так:

var elements = document.getElementsByName('something'),
    len = elements.length; 
for (var i = 0; i < len; i++) {
    elements[i].disabled = true;
}
2 голосов
/ 11 ноября 2011

Ваш пример не работает в IE9, но это работает:

Array.prototype.forEach.call(document.getElementsByName('EditRow'), function(el){
    el.disabled = true;
});
...