html 如何设置多个min和max属性为输入类型number?

bxgwgixi  于 2023-04-10  发布在  其他
关注(0)|答案(2)|浏览(126)

我有一个type="number"的输入字段,我希望用户只能输入数字3,或数字5或数字10。任何其他数字都不允许。我如何才能做到这一点,只使用HTML?
在我的其他输入字段中,用户只能输入4 - 10范围内的数字。下面是其中一个字段的示例:

<input type="number" min="4" max="10" name="p_1_1" value="<?php $pointsData10->fetchPoint10_1_1($_SESSION["userid"]); ?>" oninput="changeColor(this.value)">

当用户输入无效号码时,您会看到以下消息(在荷兰语中,它的意思是:“值必须大于或等于4”):

当用户输入一个不是3、5或10的数字时,我真的很喜欢看到这样的消息。
我认为只有在使用type="number"min=""max=""属性时才会出现此消息。因此,我希望使用这些属性而不是JavaScript来完成此操作,因为我认为JavaScript不会显示此消息......或者有什么方法可以做到这一点?
我试过了,它不起作用。

<input (type="number" min="3" max="3" || min="5" max="5" || min="10" max="10") name="p_18_1" value="<?php $pointsData10->fetchPoint10_18_1($_SESSION["userid"]); ?>" oninput="changeColor(this.value)" onkeypress="return isNumberKey(event)">
x8goxv8g

x8goxv8g1#

如果我们不同时使用min和max呢?
让我们跳出框框,使用正则表达式来代替!例如,对于只接受3,5或10的输入,尝试使用required pattern属性。所以:

<input placeholder="Input field" required pattern="^[3,5,10]$">

然而,你的错误信息会变得更一般化(类似于“输入错误”或这几行),如果你想要一个更具体的错误信息,你必须用javascript来做。

tsm1rwdh

tsm1rwdh2#

我发现了一些我很满意的东西。

<td class="score">
   <input type="text" pattern="(3|5|10)" name="p_18_1" value="<?php $pointsData1->fetchPoint1_18_1($_SESSION["userid"]); ?>" oninput="changeColor(this.value)">
</td>

我看起来有点奇怪,因为它只适用于type="text"。但这并不重要,因为用户仍然只能输入数字3,5或10。
然而,当您输入不允许的内容时,我看到类似的消息出现(翻译:“确保格式符合请求的格式。”):

相关问题