如何将type =“number”设置为正数

目前我有以下代码

<input type="number" /> 

它出现了这样的事情

在这里输入图像说明

右边的小select器让数字变成负数。 我如何防止?

我对使用type="number"有疑问,它导致了更多的问题,而不是解决问题,我要完全检查它,所以我应该回到使用type="text"

添加一个min属性

 <input type="number" min="0"> 

这取决于你想要如何精确。 它只接受整数,而不是:

 <input type="number" min="1" step="1"> 

您可以通过在input标记中添加onkeypress来强制input仅包含正整数。

 <input type="number" onkeypress="return event.charCode >= 48" min="1" > 

尝试

<input type="number" pattern="^[0-9]" title='Only Number' min="1" step="1">

我发现另一个解决scheme来防止负数。

 <input type="number" name="test_name" min="0" oninput="validity.valid||(value='');"> 
 <input type="number" min="1" step="1"> 

在你的inputtypes中添加这个代码;

 onkeypress="return (event.charCode == 8 || event.charCode == 0 || event.charCode == 13) ? null : event.charCode >= 48 && event.charCode <= 57" 

例如:

 <input type="text" name="age" onkeypress="return (event.charCode == 8 || event.charCode == 0 || event.charCode == 13) ? null : event.charCode >= 48 && event.charCode <= 57" /> 

尝试这个。 它像一个魅力。 不需要额外的JavaScript代码。

 onkeypress="return event.charCode 

把它放在你的input标签中。 喜欢这个。

 <input type="number" min="0" max="" onkeypress="return event.charCode >= 48" class="form-control" placeholder="Enter number(0-10)"> 

谢谢。