Невозможно включить XHTML для отправки ввода / кнопку, которая по умолчанию отключена - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть эта простая кнопка в XHTML:

<input type="submit" name="submit" value="Test" disabled="disabled" onmouseover="this.disabled=''" />

Проблема заключается в том, что независимо от того, что я пытаюсь, при наведении курсора на кнопку, она не будет повторно активирована из отключенного атрибута, который у нее есть,В XHTML вам необходимо использовать disabled="disabled", что, похоже, полностью нарушает возможность его включения / отключения с помощью JavaScript.Я пытался запустить this.disabled='', this.disabled=false и даже this.removeAttribute('disabled'), но, кажется, ничто не способно повторно включить кнопку.Странно то, что если я удаляю часть атрибута ='disabled' (делая его недопустимым XHTML), скрипт просто отлично активирует кнопку.Разве это невозможно без использования недопустимого XHTML?

Примечание: Я действительно предпочел бы использовать только JavaScript для этого конкретного примера, а не jQuery.

Я думал, что это будетбыть чем-то простым, что займет около 5 секунд, но, очевидно, нет.

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

По какой-то причине отключенные элементы не запускают события mouseover / out вместе с щелчком.

Следующее не является лучшим решением в мире, но вы можете заключить его в другой элемент и использовать событие mouseover для элемента-обертки, чтобы включить его.

<div style="display:inline-block;padding:1px;" onmouseover="document.getElementById('submit').disabled=false">
    <input type="submit" id="submit" name="submit" value="Test" disabled="disabled" />
</div>
0 голосов
/ 07 сентября 2011

disabled=false правильно.

Проблема в том, что отключенный элемент не получает события. См. Вопрос Проблема отключения / повторного включения элемента Javascript OnMouseOver and Out .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...