Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не получается написать примитивный javascript код (https://javascript.ru/forum/events/16219-ne-poluchaetsya-napisat-primitivnyjj-javascript-kod.html)

Barakh-D 30.03.2011 14:33

Не получается написать примитивный javascript код
 
Есть строка шириной 400px высотой 80px. В ней находится форма с элементом checkbox. Необходимо с помощью javascript сделать так, чтобы при нажатии на строку в любом месте или на самом чекбоксе происходило увеличение числа num на 1 с выводом на страницу. При повторном нажатии, наоборот - отнимание от num 1.

Ниже представляю код:

CSS:

.select{
border:1px dotted #bababa;
background:#d4ffca;
}

.select:hover{
color:#a45100;
cursor:pointer;
background:#c9ffb4;
}

javascript:
function On(){
if(document.getElementById('avt').checked==true){
document.getElementById('num').innerHTML++;
}else{
document.getElementById('num').innerHTML--;
}
}

HTML:
<form ACTION='step2.php' METHOD='POST' id='form'>

<p class='select' id='p_avt' onClick='On();'>
<span id='num' class='num'>573</span>
<input type='checkbox' name='avt' id='avt' value='участник'><b>Участник</b>
</p>

</form>


Да, я знаю, я ламер :-)

melky 30.03.2011 14:53

при нажатии на строку в любом месте или на самом чекбоксе происходило увеличение числа num на 1 с выводом на страницу. При повторном нажатии, наоборот - отнимание от num 1.

т.е. нажал, оно увеличилось, еще нажал,уменьшилось?
...
непонятно,когда отнимать,когда прибавлять?

<style>
.select{
border:1px dotted #bababa;
background:#d4ffca;
}

.select:hover{
color:#a45100;
cursor:pointer;
background:#c9ffb4;
}

</style>

<form ACTION='step2.php' METHOD='POST' id='form'>

<p class='select' id='p_avt' onClick='On();'>
<span id='num' class='num'>573</span>
<input type='checkbox' name='avt' id='avt' value='участник'><b>Участник</b>
</p>

</form>

<script>
function On(){
if(document.getElementById('avt').checked==true){
document.getElementById('num').innerHTML++;
}else{
document.getElementById('num').innerHTML--;
}
}

</script>


это ваш код

lalala 30.03.2011 14:55

Цитата:

Сообщение от Barakh-D
function On(){
if(document.getElementById('avt').checked==true){
document.getElementById('num').innerHTML++;
}else{
document.getElementById('num').innerHTML--;
}
}

document.getElementById('num').innerHTML++; это очень нравиться:)
а надо наверное
var a=573; 
function On(){
/*lalala*/
document.getElementById('num').innerHTML=a++;
/*lalala*/
document.getElementById('num').innerHTML=a--;
};

как то так

Barakh-D 30.03.2011 15:04

document.getElementById('num').innerHTML++; - работает вполне корректно )))

lalala, в принципе так и надо, только как мне теперь вывести на страницу (там, где у меня num) переменную var a?

Barakh-D 30.03.2011 15:11

Цитата:

Сообщение от melky (Сообщение 98524)
т.е. нажал, оно увеличилось, еще нажал,уменьшилось?
...
непонятно,когда отнимать,когда прибавлять?

При первом нажатии ++, при втором --.

Barakh-D 30.03.2011 15:32

Ура. Всем спасибо, у меня получилось )
Вывел через document.write(), а вместо а++, написал ++а, с минусом также.

lalala 30.03.2011 16:46

innerText и innerHTML подробнее почитайте, думаю будет полезно:)


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