试图仅减去正数

时间:2014-06-01 08:05:52

标签: javascript

表单代码:

    <td><form action="cart.php" method="get">
 <input type="button" onclick="buttonSubtract1()" name="subtract1" value="-
"/>
 <input type="text" size="4" id="qty1" name="quantity1" value="0"/>
 <input type="button" onclick="buttonAdd1()" name="add1" value="+"/>
 <input type="submit" name="product1" value="Add"/>

javascript:

var i = 0;
var qty1 =  document.getElementById('qty1').value;
function buttonAdd1() {
document.getElementById('qty1').value = ++i;
}
function buttonSubtract1() {
if (qty1 > 0) {
document.getElementById('qty1').value = --i;}
}

我使用javascript将代码更改为递增和递增,因此我尝试使得只有在数字为正但现在递增工作正常但不允许递增的情况下,递增才起作用任何数字。这是为什么?

1 个答案:

答案 0 :(得分:0)

您只需将var qty1 = document.getElementById('qty1').value;放入减法函数中,如下所示:

var i = 0;
function buttonAdd1() {      
   document.getElementById('qty1').value = ++i;
}
function buttonSubtract1() {
   var qty1 =  document.getElementById('qty1').value;
   if (qty1 > 0) {
     document.getElementById('qty1').value = --i;}
   }
}

在您的示例中,您只需将第一个值(0)写入Window objekt。 它会保持为零,直到您再次在窗口对象中更改它为止。 但是如果每次调用函数时都询问Value,那么总会得到最新的数字。

<强>小提琴:

http://jsfiddle.net/9wHU9/