Как включить отключенное текстовое поле?

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

я пытался использовать

document.pizza.field07.disabled = false ;

Он отключает поле, нажав кнопку сброса или нажав кнопку «Назад», по-прежнему сохраняет его включенным.

Пожалуйста, направляйте.


person Hassan Z    schedule 13.12.2011    source источник


Ответы (5)


Чтобы получить доступ к этому элементу более стандартным способом, используйте document.getElementById с setAttribute

document.getElementById("field07").setAttribute("disabled", false);

ИЗМЕНИТЬ

Судя по вашему комментарию, field07 — это имя, а не идентификатор. Таким образом, это должно быть то, что вы хотите:

var allfield7s = document.getElementsByName("field07");
for (var i = 0; i < allfield7s.length; i++)
    allfield7s[i].setAttribute("disabled", false);
person Adam Rackis    schedule 13.12.2011
comment
Я пробовал это:document.getElementsByName(field07).setAttribute(disabled, false); но это не работает.... field07 это имя... - person Hassan Z; 13.12.2011
comment
Не беспокойтесь о глючном setAttribute, просто установите свойство напрямую: allfield7s[i].disabled = false; - person RobG; 13.12.2011
comment
@Rob - я думал, setAttribute широко поддерживается? - person Adam Rackis; 13.12.2011
comment
@AdamRackis: он широко поддерживается, но свойство проще, как стандартное, лучше поддерживается и более читабельно. - person Tim Down; 13.12.2011
comment
@AdamRackis — широко поддерживается, но реализации противоречивы. Google javascript setattribute выдает проблемы с IE. - person RobG; 13.12.2011
comment
Спасибо @TimDown - не знал, что setAttribute не полностью поддерживается - person Adam Rackis; 13.12.2011
comment
В моем браузере Firefox setattribute не работал. Поэтому я использовал решение @RobG. - person phrogg; 23.01.2019

Это единственное рабочее решение для меня:

var allfield7s = document.getElementsByName("field07");
for (var i = 0; i < allfield7s.length; i++)
    allfield7s[i].removeAttribute("disabled");
person zajc3w    schedule 21.12.2013
comment
Это лучший ответ. Установка для параметра disabled значения false в соответствии с принятым ответом просто изменит атрибут на «disabled = false», и элемент останется отключенным. - person Matt West; 24.12.2018

Вы можете включить отключенный элемент управления HTML с помощью следующего кода JavaScript.

document.getElementById('elementId').removeAttribute('отключено');

person Bins Jose    schedule 07.07.2014
comment
Не могли бы вы добавить ссылку на соответствующую документацию? - person merours; 07.07.2014

Вы также можете сделать это с помощью jQuery:

$(function(){
    $("[name='field07']").prop("disabled", false);
});

Мы просто выбираем все элементы, у которых атрибут name равен field07 (используя имя, потому что вы так сказали в комментариях к ответу @AdamRackis), и устанавливаем для свойства disabled значение false.

Подробнее о prop().

person Purag    schedule 13.12.2011
comment
Хотя это работает, я проголосовал за него, потому что использование сторонней библиотеки для изменения значения атрибута элемента не требуется. - person Kenton de Jong; 22.01.2018

Вы можете включить отключенный элемент управления html (например, ввод, текстовое поле, кнопку,...) с помощью следующего кода.

Отключить:

document.getElementById("id_name").setAttribute("disabled", true);

Включить:

document.getElementById('id_name').removeAttribute('disabled');
person amol15    schedule 28.07.2020