|
Изменение псевдокласса DISABLED при активации события
Похожие темы имеются, но они мне не помогли :agree:
Нужно, чтобы при активации флажка (checkbox) кнопка (submit) становилась активной, а при деактивации - неактивной :) Данный код отображает кнопку при активации флажка, но без обратного эффекта: <form method="get" action="#"> <input type="checkbox" name="checkbox" onfocus="this.form.submit.disabled=0" /> <input type="submit" name="submit" value="Button" disabled /> </form> Так же получилось условие в событие (onChange) для флажка: if (this.form.checkbox.checked == 1) { this.form.submit.disabled = 0 } else { this.form.submit.disabled = 1 } aka: if (document.getElementById('checkbox').checked == 1) { document.getElementById('submit').disabled = 0 } else { document.getElementById('submit').disabled = 1 } На локальном компьютере работает отлично, а на сайте почему-то код сокращается до такого варианта: if(document.getElementById('checkbox').checked==1)else Возможно ошибка тупо в синтаксисе? :blink: Или может нужно использовать другое событие? :-? |
Цитата:
<script> function Go(Type) { document.getElementById('test').disabled=!Type; } </script> <form method="get" action="#"> <input type="checkbox" name="checkbox" onclick="Go(this.checked)" /> <input id='test' type="submit" name="submit" value="Button" disabled /> </form> |
Цитата:
А всё, оказалось, из-за того, что тупой движок сайта ставил внутри скриптов тег <br/>... Зато отлично сработал такой вариант (исходя из Вашего): <form method="get" action="#"> <input type="checkbox" name="checkbox" onmousedown="this.form.submit.disabled=this.checked" /> <input type="submit" name="submit" value="Button" disabled /> </form> Так что, спасибо :yes: |
Electron, мой вариант не зависит от <br />... :D И не завист от того, где он установлен.
|
Цитата:
Сейчас та же проблема, не работает из-за того, что движок удаляет часть скрипта, нужно чтобы так же код был без условий :-E То есть выглядеть это будет так: <script> function send() { if (this.form.text.value=='') { alert('Укажите номер Вашего счета!'); return false; } else { alert('Данные отправлены!'); } } </script> <form method="get" action="#"> Укажите номер Вашего счета <input type="text" name="text" size="10" /> <br /> Я принимаю условия соглашения <input type="checkbox" name="checkbox" onmousedown="this.form.submit.disabled=this.checked" /> <input type="submit" name="submit" value="Скачать договор" onclick="send()" disabled /> </form> Ничего нового, на локальном компьютере работает, а в интернете - нет :write: |
Цитата:
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> function send() { if (this.form.text.value=='') { alert('Укажите номер Вашего счета!'); return false; } else { alert('Данные отправлены!'); } } </script> </head> <body> <form method="get" action="#"> Укажите номер Вашего счета <input type="text" name="text" size="10" /> <br /> Я принимаю условия соглашения <input type="checkbox" name="checkbox" onmousedown="this.form.submit.disabled=this.checked" /> <input type="submit" name="submit" value="Скачать договор" onclick="send()" disabled /> </form> </body> </html> Таки работает и в инете. :) Смотрю в Опере... |
Цитата:
Такая проблема решается выносом скрипта в отдельный JS-файл, но в таком случае не работает "return false"... :cray: |
Electron, ты описываешь какие-то страсти-мордасти...
|
такая проблема решается в первую очередь выключением минификатора скриптов в движке.
|
Цитата:
|
Часовой пояс GMT +3, время: 22:41. |
|