Подтвердить что ты не робот

Document.getElementById('btnid'). disabled не работает в firefox и chrome

Я использую JavaScript для отключения кнопки. Работает отлично в IE, но не в FireFox и хром, вот script, над чем я работаю:

function disbtn(e) { 
    if ( someCondition == true ) {
       document.getElementById('btn1').disabled = true;
    } else {
       document.getElementById('btn1').disabled = false;
    }

И в моем html я:

<input type="button" id="btn1" value="submit" />
4b9b3361

Ответ 2

Попробуйте напрямую установить атрибут disabled:

if ( someCondition == true ) {
   document.getElementById('btn1').setAttribute('disabled', 'disabled');
} else {
   document.getElementById('btn1').removeAttribute('disabled');
}

Ответ 3

Есть всегда странные проблемы с поддержкой браузера getElementById, попробуйте вместо этого использовать следующее:

// document.getElementsBySelector are part of the prototype.js library available at http://api.prototypejs.org/dom/Element/prototype/getElementsBySelector/

function disbtn(e) { 
    if ( someCondition == true ) {
        document.getElementsBySelector("#btn1")[0].setAttribute("disabled", "disabled");
    } else {
        document.getElementsBySelector("#btn1")[0].removeAttribute("disabled");
    }    
}

В качестве альтернативы включите jQuery, где вы могли бы просто сделать это:

function disbtn(e) { 
    if ( someCondition == true ) {
        $("#btn1").attr("disabled", "disabled");
    } else {
        $("#btn1").removeAttr("disabled");
    }    
}

Ответ 4

Некоторое время некоторые функции javascript не работают в определенном браузере. Я бы предложил вам начать использовать JQuery, который дает вам нормализованное JS, заботясь о разных требованиях к браузеру.

$('#btn1').each(function(){
    this.disabled = false;
});

Ответ 5

Другая альтернатива:

document.formname.elementname.disabled=true

Работа над FF и IE! :)

Ответ 6

остается верным для встроенной (Boolean) поддержки свойств и ее сильного синтаксиса, например:

[elem].disabled = условие? true: false;//done!

и для нашего собственного хорошего коллективного кодирования, - пожалуйста, настаивайте на том, чтобы другие также поддерживали его.

Ответ 7

Я пробовал все возможности. Ничто не работало для меня, кроме следующих.  var element = document.querySelectorAll( "input [id = btn1]" );  Элемент [0].setAttribute( "отключено", правда);