js中input属性value+=1后造成字符串拼接

 <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视为数字类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值