Javascript 仅尝试反增量一个正数

Javascript 仅尝试反增量一个正数,javascript,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" o

表格编号:

    <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 qty1=document.getElementById'qty1'。值;在减法函数中,如下所示:

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写入窗口objekt。 在窗口对象中再次更改它之前,它将保持为零。 但如果每次调用函数时都询问该值,则始终会得到最新的数字

小提琴:


如果我将submit改为``并添加函数checkPos1{var x=parseIntdocument.getElementById'qty1'。值为10;如果x<0{alertQuantity字段必须包含正数!;返回false;}}而不是尝试onsubmit=checkPos1;在表单标签中,单击提交按钮。这应该行得通,因为submit按钮的返回值不会停止表单submit
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;}
   }
}