Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать переключатель checkbox не активным? (https://javascript.ru/forum/misc/50448-kak-sdelat-pereklyuchatel-checkbox-ne-aktivnym.html)

Antonii 26.09.2014 16:12

Как сделать переключатель checkbox не активным?
 
Здравствуйте!

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

В общем, я не смог найти ответ на один вопрос.

Есть переключатель:
<input type="checkbox" name="tor" onclick="n()"/>

Когда посетитель сайта на него нажимает, срабатывает условие:
if ((document.myform.tor.checked == true)&(a2==0))

при котором появляется сообщение:
alert('Эти вещи не стыкуются!');


Как сделать, чтобы, при появлении данного сообщения, переключатель type="checkbox" перестал быть активным?

ksa 26.09.2014 16:18

Цитата:

Сообщение от Antonii
Как сделать, чтобы, при появлении данного сообщения, переключатель type="checkbox" перестал быть активным?

<input type="checkbox" name="tor" onclick="n()" disabled />

BETEPAH 26.09.2014 16:18

<form name="myform">
  <input type="checkbox" name="tor" onclick="n()"/>
</form>
<script>
function n() {
  var a2 = 0;
  if ((document.myform.tor.checked == true) && (a2 == 0)) {
    document.myform.tor.checked = false;
    alert('Эти вещи не стыкуются!');
  }
}
</script>

Antonii 26.09.2014 16:33

Цитата:

Сообщение от ksa (Сообщение 332372)
<input type="checkbox" name="tor" onclick="n()" disabled />

Вы меня неверно поняли, но за помощь, благодарю.


Цитата:

Сообщение от BETEPAH (Сообщение 332373)
.....

ну надо же, РАБОТАЕТ:yes: , а я столько времени потратил :)

Благодарю Вас за помощь.

kostyanet 26.09.2014 20:23

Кондиция возвращает true или false. Если их можно присвоить без хлопот, то присваивайте напрямую:

тут два раза

if ((document.myform.tor.checked == true) && (a2 == 0)) {
08	    document.myform.tor.checked = false;


а тут 1 раз

document.myform.tor.checked = !(((document.myform.tor.checked == true) && (a2 == 0)));


Когда требуется null, или там 0 или 1 - тогда потребуется кастинг

assumed_integer = parseInt(((document.myform.tor.checked == true) && (a2 == 0)));


За правильность не ручаюсь, в php потому что делается так (int) переменная.

2chan 26.09.2014 20:53

Алсо,
<input type="checkbox" name="tor" onchange="n()"/>

BETEPAH 27.09.2014 10:45

kostyanet,
про 2 и 1 раз не понял. Вы же просто переписали условие в таком виде, в котором не сможете воткнуть в код алерт, упоминаемый в топике - это раз. Во-вторых, уменьшили читабельность кода. В чем профит?


Часовой пояс GMT +3, время: 19:55.