2013-08-19 5 views
0

У меня есть кнопка сохранения, и сначала, когда несколько полей пусты, она остается отключенной. это нормально работает во всех браузерах, но не в IE10. Я пробовал много вещей, чтобы решить эту проблему, но ничего не сработало. Любая помощь приветствуется.Кнопка Отключить не работает в IE 10

var numButtons = document.getElementsByTagName('button').length; 
for (var num = 0; num < numButtons; num++) { 

    var buttonName = document.getElementsByTagName('button')[num].innerHTML; 

    if (buttonName == "Save" && id == dialogName) { 
     document.getElementsByTagName('button')[num].disabled = true; 

     break; 
    } 
} 
+0

должно 'dialogName' быть' "dialogName" '. Вы используете один и тот же идентификатор более чем для одной кнопки? – Vector

+1

Для меня [его работа в IE 10] (http://jsfiddle.net/3JNFw/) может быть ошибка в вашем 'if (id == dialogName)' – Martin

+0

Используете ли вы какую-либо библиотеку javascript (jQuery, ExtJS, BackbornJS) в вашем коде? Я предлагаю прослушать onSubmit событие в форме и проверить все поля ввода. Если проверка не выполнена, верните false и покажите ошибки else, верните true и пусть форма будет отправлена ​​на сервер. Таким образом, вам может не понадобиться писать javascript. –

ответ

2

У вас есть некоторые неопределенные переменные в вашем приведенном выше коде. Я предположил, что они следуют, и в этом работает код для вашей проблемы.

window.onload = function() { 
    var numButtons = document.getElementsByTagName('button').length; 
    for (var num = 0; num < numButtons; num++) { 

     var buttonName = document.getElementsByTagName('button')[num].innerHTML; 
     var id = document.getElementsByTagName('button')[num].getAttribute("id");; 
     if (buttonName == "Save" && id == "dialogName") { 
     document.getElementsByTagName('button')[num].disabled = true; 

     break; 
     } 
    } 
}; 

Js Fiddle

1

Я не знаю, если это тот же самый вопрос, но у меня была проблема, когда я думал, что установка инвалидов атрибут не работает в IE 10. Оказывается, он был отключен, когда Я щелкнул его, он просто не менял стиль, поэтому он по-прежнему был включен.