2013-07-26 121 views
7

我想强制用户键入他们的年龄。我也想确保他们只在18-99之间输入。这可能与HTML5属性如requiredpattern,minmax?好像它不工作HTML5输入数字最小最大不符合要求

<form> 
    <input type="number" name="Q2age" id="Q2age" size="10" min="18" max="99" pattern="[1-8][0-9]" required> 
    <button type="submit" class="button" id="test">Submit</button> 
</form> 

我错了在这里做什么?我在Ubuntu 12.0.4LTS上使用Firefox 22.0(在Chrome上也进行了测试,但无效)。感谢您的帮助。

+0

其工作正常 –

回答

7

这是正常现象,因为FF21犯规支持最小值,最大值属性...

您可以在http://html5test.com/

检查检查截图 enter image description here

+1

谢谢@ArunBertil。我想你是对的。我会在未来提出类似这样的急躁问题之前开始检查上面提到的html5test站点。 :) – user1330974

+1

ohh..no pblm .. :) –

4

你的代码工作正常。勾选此fiddle(我使用的是最新的Chrome)

我唯一担心你的就是你pattern="[1-8][0-9]"可以简单的使用这个

pattern="[0-9]{2}" 
+1

谢谢为你的帮助@ user1671639。但是我希望我的代码可以在所有浏览器上工作。看起来像答案是Firefox 21不支持这个功能。 :)顺便说一句,模式是为了确保用户不输入“1”作为第一位数字。如果你有一个更优雅的方式来写在正则表达式,我很乐意学习。 :) – user1330974

3

它不工作在Firefox,但它在Chrome,IE浏览器,Safari浏览器的工作原理和歌剧。

请找演示在这里工作:Demo

<form action=""> 

<input type="number" name="points" min="1" max="10" name="Q2age" id="Q2age" required> 

<input type="submit" value="submit" /> 
</form> 
+0

感谢您的解释和花时间来创建演示。你是对的。它在Firefox中不起作用,因此我将使用另一种在jQuery中进行验证的方法。 :) – user1330974

+0

您的示例输入有两个'name'属性。 – Ben