我有一个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)">
2条答案
按热度按时间x8goxv8g1#
如果我们不同时使用min和max呢?
让我们跳出框框,使用正则表达式来代替!例如,对于只接受3,5或10的输入,尝试使用required pattern属性。所以:
然而,你的错误信息会变得更一般化(类似于“输入错误”或这几行),如果你想要一个更具体的错误信息,你必须用javascript来做。
tsm1rwdh2#
我发现了一些我很满意的东西。
我看起来有点奇怪,因为它只适用于
type="text"
。但这并不重要,因为用户仍然只能输入数字3,5或10。然而,当您输入不允许的内容时,我看到类似的消息出现(翻译:“确保格式符合请求的格式。”):