2011-02-07 2 views
1

У меня есть фрагмент кода, который отключает кнопку загрузки, пока что-то не будет выбрано для загрузки. Я только заметил, что он не работает в IE9 Beta. Нужно ли мне повторять его как-то больше для IE? Вот мой код:Отключить кнопку с jQuery - проблема IE9

$("input:file").change(function(){ 
    if ($(this).val()) { 
     $("input:submit").attr("disabled",false); 
    } 
}); 

UPDATE:

Я изменил мой код, чтобы добавить предупреждение:

$("input:file").change(function(){ 
    alert("..."); 
    if ($(this).val()) { 
     $("input:submit").removeAttr("disabled"); 
    } 
}); 

В FF предупреждение включается и позволяет кнопки в IE предупреждения не срабатывает.

ONE MORE UPDATE:

Проблема пошел вперед без модификации кода. В IE9 есть новый значок «СОВМЕСТИМОСТЬ VIEW» рядом с полем веб-адреса. Я щелкнул его, чтобы включить, а затем снова щелкнул, чтобы отключить, и проблема исчезла. Мое предположение, IE как-то заблокировал jQuery и кэшировал его. Изменив настройки совместимости, я мог бы удалить настройки кэширования. WEIRD!

+0

Вы точно знаете, какой вызов функции не выполняет то, что он должен? например, никогда не срабатывает событие «change»? «$ (This) .val()' никогда не возвращает правдивое значение? и т. д. –

+0

Когда я выбираю файл, кнопка остается отключенной. – santa

+1

$ ("input: submit"). RemoveAttr ("disabled"), который должен активировать элемент –

ответ

3

попробуйте использовать $("input:submit").attr("disabled","disabled"); отключить и $("input:submit").removeAttr("disabled")

+0

Это сработало для меня. –

0

Есть браузеры там - очевидно, также IE9 - которые не позволяют получить доступ к значению входа файла, поданный по соображениям безопасности.

+0

Можно ли запустить другую проверку? Может быть, onclick? – santa

0

Это код, я использую, чтобы отключить или повторно включить контроль:

function handleControlDisplay(className, foundCount, checked) { 



    var button = jQuery(className); 



    if (foundCount > 0 && foundCount == checked) { 

     // enable 

     button.removeAttr("disabled"); 

    } 

    else { 

     // set the disabled attribute 

     button.attr("disabled", "true"); 

    }; 

} 
0

Вот подробный учебник с моего сайта, показывая, как это сделать: jQuery disable button. В двух словах лучший способ отключить кнопку с помощью JQuery используется следующий код:

$('.buttonElement').attr('disabled', 'disabled'); //TO DISABLED 
$('.buttonElement').removeAttr('disabled'); //TO ENABLE 

Надеется, что это помогает кто-то из.

 Смежные вопросы

  • Нет связанных вопросов^_^