如何防止在数字输入字段中输入零或负数

此问题已被要求输入负数,但所有答案仍然可以添加0. 在我的商店订购产品并设置数量时,0您可以免费下订单,因此最小数量应该是1

我想也许我可以禁止0使用 javascript 输入(通过防止输入破折号,这适用于负数)但是如果有人输入怎么10办?所以我需要另一个解决方案。

我怎样才能做到这一点?

我的输入字段:

<input name="quantity" id="'.$cart['productid'].$cart['kuubkosten'].'" value="'.$cart['quantity'].'" type="number" min="1">


斯蒂芬大帝
浏览 201回答 3
3回答

蝴蝶不菲

防止用户输入 0 或负数下面的代码将阻止用户输入 0 或负值let qty = document.querySelector("input[name='quantity']");qty.addEventListener("change", function (event) {&nbsp; &nbsp; if (this.value < 1) this.value = 1; // minimum is 1&nbsp; &nbsp; else this.value = Math.floor(this.value); // only integers allowed})<input name="quantity" id="dummyId" value="0" type="number" min="1">如果你不想打扰太多的 javascript,下面是一个更简洁的方法:<input name="quantity" id="dummyId" value="0" type="number" min="1" onchange="this.value = Math.floor(Math.max(this.value,1))">Math.floor()如果您不关心四舍五入为整数,则可以删除该位。

POPMUISE

使用以下 onchange 仅授权大于等于 1 的正整数:<input&nbsp;type="number"&nbsp;&nbsp;onchange="this.value&nbsp;=&nbsp;Math.max(Math.ceil(Math.abs(this.value&nbsp;||&nbsp;1))&nbsp;||&nbsp;1);">但是值仍然可以使用javascript进行编辑/转换,不要忘记在后端实现真正的控制
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript