<form action="/AddCart">
<div class="input-group mb-3">
<div class="input-group-prepend">
<button type="button" class="btn btn-sm btn-primary btn-outline-secondary" id="minus<%=index%>" style="display: none" onclick="editAmountFun('editAmount<%=index%>',0)">-</button>
</div>
<input type="text" class="form-control input-sm" id="editAmount<%=index%>" name="editAmount" value="<%=order.getAmount()%>" width="auto" >
<div class="input-group-prepend">
<button type="button" class="btn btn-sm btn-primary btn-outline-secondary" id="plus<%=index%>" style="display: none" onclick="editAmountFun('editAmount<%=index%>',1)">+</button>
<button type="submit" class="btn btn-primary btn-outline-secondary" id="editSubmit<%=index%>" style="display: none">提交</button>
<button type="button" class="btn btn-primary btn-outline-secondary" id="edit<%=index%>" onclick="showEdit('minus<%=index%>','plus<%=index%>','editSubmit<%=index%>','edit<%=index%>')">编辑</button>
</div>
想要通过input text框监听两个button的点击事件,一边加,一边是减
js代码如下:
function editAmountFun(id,isPlus) {
var textEdit=document.getElementById(id);
if(isPlus==1)
textEdit.value+=1;
else
textEdit.value-=1;
}
最终效果是,点击 “ - ” button,input框中数字自减一,但点击“ + ” button后input框中的字符串向后拼接了1
也就是说value+=1时是将value视为字符串,value-=1时视为number
解决方法:
function editAmountFun(id,isPlus) {
var textEdit=document.getElementById(id);
if(isPlus==1)
textEdit.value++;
//或改为textEdit.value=textEdit.value*1+1;
else
textEdit.value-=1;
}
可将value视为数字类型