- Disabling and enabling a html input button
- 12 Answers 12
- Using Javascript
- Using jQuery
- Как активировать или отключить кнопку с помощью чистого JavaScript и jQuery
- Включение и отключение кнопки на чистом JavaScript
- Активация и отключение кнопок на jQuery
- Заключение
- Как сделать кнопку неактивной через JavaScript
- как сделать кнопку неактивной js
Disabling and enabling a html input button
How can I disable and enable it when I want? I have tried disabled=»disable» but enabling it back is a problem. I tried setting it back to false but that didn’t enable it.
What do you mean enable it back? Once you disable it you can’t re-enable it from the same method Me() I hope you know (because that’s disabled)
12 Answers 12
Using Javascript
document.getElementById("Button").disabled = true;
document.getElementById("Button").disabled = false;
Using jQuery
All versions of jQuery prior to 1.6
$('#Button').attr('disabled','disabled');
All versions of jQuery after 1.6
P.S. Updated the code based on jquery 1.6.1 changes. As a suggestion, always use the latest jquery files and the prop() method.
No, inside $(document).ready you can call $(‘#Button’).attr(‘disabled’,’disabled’); . This will disable the button on page load. And when certain events happen, you can call $(‘#Button’).removeAttr(‘disabled’); to enable it again.
Since you are disabling it in the first place, the way to enable it is to set its disabled property as false .
To change its disabled property in Javascript, you use this:
var btn = document.getElementById("Button"); btn.disabled = false;
And obviously to disable it again, you’d use true instead.
Since you also tagged the question with jQuery, you could use the .prop method. Something like:
var btn = $("#Button"); btn.prop("disabled", true); // Or `false`
This is in the newer versions of jQuery. The older way to do this is to add or remove an attribute like so:
var btn = $("#Button"); btn.attr("disabled", "disabled"); // or btn.removeAttr("disabled");
The mere presence of the disabled property disables the element, so you cannot set its value as «false». Even the following should disable the element
You need to either remove the attribute completely or set its property.
Как активировать или отключить кнопку с помощью чистого JavaScript и jQuery
В этой статье мы обсудим способы включения и отключения кнопки. Сначала мы рассмотрим, как это делается с помощью простого JavaScript, а затем разберемся, как данный процесс выглядит в случае использования jQuery.
JavaScript – один из самых популярных языков программирования, применяемых в веб-разработке. Он используется на большинстве сайтов, и все современные браузеры поддерживают его по умолчанию. В этом руководстве мы рассмотрим полезные приемы, которые помогут вам освоить разработку на JavaScript.
К примеру, при создании сайта на основе JavaScript очень часто требуется включать или отключать кнопки в зависимости от каких-то событий. Как правило, подобная необходимость возникает при разработке форм и анкет: кнопка отправки данных должна оставаться неактивной, пока пользователь не заполнит все обязательные поля. После того, как необходимая информация будет введена, кнопка должна стать активной, чтобы пользователь мог нажать на нее и отправить данные на сервер.
В HTML для кнопок предусмотрено собственное состояние, и таким образом, вы можете активировать или отключать кнопки по желанию. К примеру, во время загрузки формы на странице можно деактивировать кнопку, а затем включить ее с помощью JavaScript.
Сейчас на конкретных примерах мы рассмотрим, как можно включать и отключать кнопки с помощью JavaScript.
Включение и отключение кнопки на чистом JavaScript
В этом разделе мы разберем пример кода на чистом JavaScript, который активирует и отключает кнопку. Посмотрите на приведенный ниже фрагмент кода:
Данный код создает простейшую форму с двумя полями для ввода текста и кнопкой для отправки введенных данных на сервер. Важно отметить, что во время загрузки страницы кнопка формы находится в отключенном состоянии – для этого в коде по умолчанию используется свойство disabled .
После загрузки формы в коде предусмотрено событие onchange , связанное с изменением состояния текстовых полей для ввода имени и пароля пользователя. Как только пользователь введет какие-либо данные в любое из этих полей, событие onchange сработает, и вызовет функцию включения и отключения кнопки toggleButton .
Функция toggleButton проверяет, ввел ли пользователь данные в оба обязательных поля. Если пользователь ввел имя и пароль, функция изменит состояние disabled на false , что в итоге приведет к активации кнопки отправки введенных данных. Если же одно из обязательных полей осталось незаполненным, свойство disabled получает параметр true , и как следствие этого, кнопка остается неактивной.
В приведенном выше примере для создания кнопки используется элемент , но при желании также можно использовать HTML-кнопку , как показано ниже:
Вот так и выглядит активация и отключение кнопки на чистом JavaScript. В следующем разделе мы рассмотрим, как включать и отключать кнопки при работе с библиотекой jQuery.
Активация и отключение кнопок на jQuery
Теперь разберемся, как реализовать включение и деактивацию кнопок при помощи библиотеки jQuery. Для этого обратимся к примеру кода из предыдущего раздела. Далее показано как выглядит код при использовании jQuery:
Прежде всего, данный код загружает библиотеку jQuery, чтобы мы могли воспользоваться ее средствами для реализации нашей функции. Для изменения состояния кнопки в данном случае используется метод jQuery-объекта, attr .
Метод attr используется в jQuery для установления и получения значений определенных атрибутов элемента. Если передать методу один аргумент, он вернет значение атрибута объекта. При использовании двух аргументов метод установит новое значение атрибута. В нашем случае метод используется для задания значения disabled атрибуту кнопки. Весь остальной код остается без изменений.
Если вы работаете с jQuery 1.5+, вместо метода attr следует использовать prop , как показано во фрагменте кода, приведенном ниже:
//. $('#submitButton').prop('disabled', true);
Если же вам потребуется удалить какой-то из атрибутов элемента, можно воспользоваться методом removeAttr . Результат будет таким же, что и при использовании параметра false для свойства disabled :
//. $('#submitButton').removeAttr('disabled');
Заключение
В этом руководстве на двух конкретных примерах мы рассмотрели различные способы активации и отключения кнопки – с помощью чистого JavaScript, и с использованием библиотеки jQuery.
Наталья Кайда автор-переводчик статьи « How to Enable or Disable a Button With JavaScript: jQuery vs. Vanilla »
Пожалуйста, оставьте свои отзывы по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, отклики, подписки, дизлайки, лайки!
Как сделать кнопку неактивной через JavaScript
Всем привет. Речь конечно же пойдет о кнопке на странице сайта или какого-то веб-приложения. Мы будем делать ее неактивной через JS, но для этого нам нужно создать условие, то есть в каких случаях кнопка будет неактивной, потому что оставлять ее в этом положении навсегда не имеет смысла. В большинстве случаев это делается при проверке каких-то данных в форме и там как раз есть условие — если проверка на заданные условия пройдена, то кнопку сделаем активной, если нет — нажатие на кнопку будет запрещено. Я уже писал про валидацию номера телефона на JS, поэтому мы можем частично воспользоваться кодом, который приведен в статье. неактивная кнопка а HTML выглядит так:
button disabled="true">Кнопка/button>
input type="submit" disabled value="Кнопка"/>
button disabled>Кнопка/button>
input type="submit" disabled value="Кнопка"/>
То есть кнопке просто добавляется атрибут disabled и дальше будет зависеть от контекста. В каких случаях атрибуту присваивать значение TRUE, а в каких FALSE. Теперь можно перейти к конкретным примерам.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
function validatePhone(phone)7 let inp = document.querySelector('.inp'); let btn = document.querySelector('.btn'); btn.setAttribute('disabled', true); inp.oninput = function(){ let phone = document.querySelector('.inp').value; if (!validatePhone(phone)){ btn.setAttribute('disabled', true); }else{ btn.removeAttribute('disabled'); } }
Эта конструкция кода проверяет номер телефона в формате +7 и пока не будет введен верный номер в поле — кнопка останется неактивной. Как только номер будет соответствовать заявленным требованиям, то есть регулярному выражению — кнопка станет активной. То же самое мы можем сделать для Email адреса. Все, что нужно сделать, это поменять регулярное выражение в переменной regex, которое будет проверять именно Email.
Соответственно сделать кнопку неактивной на JS можно и для других данных, когда форма содержит гораздо больше полей и все их нужно проверить. В этом уроке я привел основной принцип, а реализация и проверки будут зависеть от конкретной задачи.
как сделать кнопку неактивной js
Чтобы сделать кнопку неактивной, нужно добавить ей атрибут disabled :
// создаем кнопку const btn = document.createElement('button'); // добавляем ей атрибут disabled btn.setAttribute('disabled', ''); // добавляем надпись btn.textContent = 'Неактивная кнопка' // добавляем кнопку на страницу document.body.append(btn);
Кнопка будет отображаться серой и недоступной для нажатия. Кроме того, она не может получить фокус путем нажатия на клавишу Tab или другим способом.