- Форум
- Справочник
- Явно установить disabled = «false» в HTML не работает
- 5 ответов
- Тонкости свойства disable у кнопок формы, отправляемой на сервер (Как делать кнопки неактивными)
- Зачем нужно делать кнопки неактивными
- Как делать кнопки неактивными
- HTML-атрибуты Disabled и Readonly
- Сравнительные характеристики
- Пример использования атрибута Disabled
- Пример использования атрибута Readonly
- Readonly как Disabled
- Почему jquery .prop(‘disabled’, true) не работает (не делает элемент неактивным)?
Форум
Справочник
Страница 1 из 2 | 1 | 2 | > |
Опции темы | Искать в теме |
Все привет!
Долго бился с одной проблемой в IE. Наконец её решил и хочу поделиться этим, вдруг кому пригодится, так как нигде не нашёл подобного.
Столкнулся с тем, что никак не удавалось устанавливать или убирать disabled у кнопки submit в форме. Никаким способом.
и такое (в связке с MooTools)
Это просто взрывало моск, так как в браузерах это работало.
Оказалось, что проблемы была вызвана тем, что помимо submit у меня стоял hidden input с таким же именем (ну другим ID). (только не надо спрашивать, зачем, так было удобно). Поменял имя и проблема решилась.
Вот пример кода, который показывает данный баг. Проверено в IE 7, 8.
Надеюсь, кому-то это будет полезно.
p.s. Прошу не писать, как многие любят: а зачем делать то-то и то-то, кому это нужно. Может кому-то и нужно. Спасибо!
Ну да, есть такая бага в IE.
Забавный был случай, когда под мутулсом в IE внезапно перестало загружаться содержимое в див. Оказалось, у дива был id « description », а в документ был добавлен .
Подскажите пожалуйста как ?
Имею анкету на php
anketa.php
Тупо копирнул код себе в ИЕ8 и там всё работает.
Вы целиком не прочитали, по-моему. Там дело не столько в баге ie, сколько в неправильной организации кода:
Оказалось, что проблемы была вызвана тем, что помимо submit у меня стоял hidden input с таким же именем (ну другим ID). (только не надо спрашивать, зачем, так было удобно). | ||||||||||||||||||
1) IE свойства id и name, нужны для совместимости со старыми версиями, а не для удобства. 2) Ваш код не поддерживает кросс-броузерность input type=»hidden» Источник Явно установить disabled = «false» в HTML не работаетЯ хотел бы явно установить кнопку как активную в html-файле . Причина в том, что мой код позже переключает кнопку на отключенную, и если код выйдет из строя или около того, я могу увидеть, что кнопка отключена. Я могу отключить кнопку с помощью Но затем html, содержащий: Кнопка по-прежнему отображается как отключенная. Инспектор показывает: Я знаю, что могу Или подобное, но это не удобно делать для многих элементов в html. 5 ответовКак ни удивительно, HTML не использует логические значения для логических атрибутов. В HTML логические атрибуты указываются либо простым добавлением имени атрибута, либо (особенно в XHTML) с использованием имени атрибута в качестве его значения.
Значения «истина» и «ложь» не допускаются для логических атрибутов. Чтобы представить ложное значение, атрибут нужно полностью опустить. В будущем может кому-нибудь помочь. Я знаю, что это старая тема, но, поскольку ответа нет, помогает ли это? Это отвечает на вопрос, явно отмеченный как включенный. Я тоже изучаю это, чтобы использовать кнопку при проверке. Я надеюсь, что это поможет кому-то. Если вы используете AngularJS , попробуйте вместо этого ng-disabled . В этом случае вы можете использовать такие вещи, как: Источник Тонкости свойства disable у кнопок формы, отправляемой на сервер (Как делать кнопки неактивными)Уже неоднократно на хабре (вот в этой публикации и в этой) ставился вопрос о том, что было бы хорошо кнопкам формы, отправляемой на сервер, ставить свойство disabled = «disabled» . Однако, до сих пор так и не разобрались, зачем это нужно и как все-таки это делать. Казалось бы, что может быть проще и о чем здесь вообще можно разговаривать, ан нет — на поверку все оказалось не так тривиально. Сразу замечу, что нижеследующие рассуждения применимы к обеим типам форм: как отправляемым через обычный SUBMIT, так и с помощью AJAX. Зачем нужно делать кнопки неактивными
Понятно, что можно предотвратить лишние нажатия при помощи навешивания специальной визуализации, говорящей, что запрос принят и форма отправляется (простейший пример — показать какой-нибудь анимированный gif). Однако, кнопки-то при этом все равно останутся кликабельными, и самые нетерпеливые пользователи не применут воспользоваться такой возможностью. При этом, на эти дополнительные нажатия форма уже никак не сможет отреагировать (анимированный gif уже крутится), и фрустрация пользователя только увеличится. Понятно также, что лишние запросы можно предотвратить, повесив на форму какой-нибудь class=»form_is_loading» , и при всяком сабмите проверять на наличие этого класса. Но зачем делать эти проверки, когда можно обойтись без них, просто сделав кнопку неактивной? Как делать кнопки неактивнымиЭтот предложенный в вышеупомянутых топиках простой вариант оказывается недостаточным и неработоспособным. Почему недостаточно просто делать нажатую кнопку неактивной:
Итак, сценарий создания неактивных кнопок Источник HTML-атрибуты Disabled и Readonly+на+сервер»>Передача заблокированных и Сравнительные характеристики
Атрибуты disable и readonly — это сокращённые атрибуты, поэтому их можно использовать без значений. +на+сервер»>Передача заблокированных и Для передачи на сервер заблокированных (нередактируемых) значений элементов, созданных с помощью и , необходимо использовать атрибут readonly ; однако он не меняет цвет фона элемента по умолчанию на серого оттенка, в отличие от disabled , что может поставить Человека в тупик — почему Он не может редактировать содержимое. В этом случае лучше сделать имитацию заблокированности с помощью CSS, то есть просто определить элементу светло-серый фон. Этот эффект наблюдается во всех популярных браузерах, кроме Safari, который меняет цвет фона элемента на серого оттенка при применении к нему атрибута readonly . Пример использования атрибута DisabledПример использования атрибута ReadonlyReadonly как DisabledКак видно из примеров выше, применение разных атрибутов определяет различное стилевое оформление соответствующих элементов. Чтобы сделать его одинаковым, можно использовать следующий код CSS: Для Opera Presto второе правило не работает, поэтому в данном браузере, при получении фокуса текстовой областью ( ) с атрибутом readonly , вокруг элемента будет отображаться пунктирная рамка. Источник Почему jquery .prop(‘disabled’, true) не работает (не делает элемент неактивным)?Ничего не могу понять..
Но prop() почему-то не делает кнопку не активной и сам атрибут (disabled=»disabled») ей не присваивает. Хотя вот тут это работает замечательно.
Я так и делаю в данный момент.. Кстати это аналогично строке Но я хочу понять почему не работает prop(), который рекомендуется использовать как раз для этого. Павел Кизернис: Источник |