Printable Version of Topic

Click here to view this topic in its original format

HTMLHelp Forums _ Client-side Scripting _ button plus and minus script

Posted by: Louffeman Oct 10 2016, 12:15 PM

Hi,
I want to create à script for a plus and minus button, I meet some difficulties,
the initial value is 0, when I click +, it increases immediately to 2, than, 2,3,4.....normally. but it can't increase to 1, than 2,3,4...
and when I click -, it decreases until to 1, not possible to 0.
I wish someone can help, and thanks a lot !

it is my script:

<div id="input_div">
<input type="button" value="-" id="moins" onclick="minus()">
<input type="text" size="8" value="0" id="count">
<input type="button" value="+" id="plus" onclick="plus()">
</div>

<script src="js/jquery.js"></script>
<script>
var count = 1;
var countEl = document.getElementById("count");
function plus(){
count++;
countEl.value = count;
}
function minus(){
if (count > 1) {
count--;
countEl.value = count;
}
}
</script>

Posted by: CharlesEF Oct 10 2016, 12:49 PM

What you describe is exactly what you have coded to happen. You should rewrite your plus() and minus() functions. I will show you how to do 1 and I will leave the other to you.
HTML

CODE
<input type="button" value="+" id="plus" onclick="plus(parseInt(document.getElementById("count").value))">

Javascript
CODE
function plus(count){
document.getElementById("count").value = count++;
}
You don't need the line 'var count = 1;' and I didn't use
'var countEl = document.getElementById("count");' but you can put it in my code if you want to.
If you need help with the minus() function just post back with your new code.

Posted by: CharlesEF Oct 10 2016, 02:17 PM

Now that I have a little more time let me explain. The code I posted is how I would do it but you don't have to. If you want to use your code instead then you need to fix it.

The reason your plus() starts at 2 is this 'var count = 1;'. To start from 1 you need to change it to 'var count = 0;'.

The reason your minus() never gets to 0 is this 'if (count > 1) {'. To get to 0 it should be 'if (count > 0) {'.

Posted by: Louffeman Oct 11 2016, 01:41 AM

thank you so much, it's solved

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)