Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   значение checkbox 1 или 0 (https://javascript.ru/forum/dom-window/43675-znachenie-checkbox-1-ili-0-a.html)

piraids 16.12.2013 16:14

значение checkbox 1 или 0
 
как передать 1 если отмечен чекбокс, и 0 если не отмечен? или вместо 0 просто ничего, в данном варианте всегда передается 1:
<input type="checkbox" name="favorites" value="1" <?php if ($line['favorites']=="1"){echo ("checked");}?> onChange="document.location.href='/actions.php?mode=TLogin&do=setfavorites&id=<?php echo ($line['id']); ?>&favorites='+this.value+'&back='+window.location.href">



надо как то так, подскажите с синтаксисом пожалуйста:
<input type="checkbox" name="favorites" value="if(element.checked==true){1}else{0}" <?php if ($line['favorites']=="1"){echo ("checked");}?> onChange="document.location.href='/actions.php?mode=TLogin&do=setfavorites&id=<?php echo ($line['id']); ?>&favorites='+this.value+'&back='+window.location.href">

рони 16.12.2013 16:26

piraids,
<input name="" type="checkbox" onchange="alert(~~this.checked)">
Цитата:

Сообщение от piraids
'+this.value+'

Цитата:

'+(~~this.checked)+'

piraids 16.12.2013 16:31

рони,
спасибо!!! буду знать)

danik.js 16.12.2013 16:54

рони, че уж там! советуй вот такую шнягу лучше:
~~~~~~~~~~~~~~~~~~this.checked


Главное - чтобы было непонятно и побольше символов!

Цитата:

Сообщение от piraids
спасибо!!! буду знать)

А лучше - забудь.
boolean привести к number можно и без предложенного извращения:
(+this.checked) или даже Number(this.checked)

рони 16.12.2013 18:04

danik.js,
вы ещё забыли написать, что можно так (this.checked*1) или (this.checked/1) ... )))
главное что piraids надеюсь понял, что в value ненадо скрипт писать там всё останется строкой

danik.js 16.12.2013 18:29

Еще вариант:
false|0
true|0


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