HTML5中是否有浮点输入类型?

根据html5.org,“数字”输入类型的“值属性,如果指定且不为空,则必须具有一个有效的浮点数值。”

然而,简单地说(在最新版本的Chrome中,无论如何),使用整数而不是浮点数的“updown”控件:

<input type="number" id="totalAmt"></input>

number类型具有控制哪些数字有效的step值(以及maxmin ),默认值为1 。 这个值也被执行器用于步进按钮(即step增加)。

只需将此值更改为适当的值即可。 对于金钱,可能会出现两位小数:

<input type="number" step="0.01">

(如果它只能是正的,我也设置min=0

如果您希望允许任意数量的小数位数,您可以使用step="any" (尽管对于货币,我建议坚持0.01 )。 在Chrome和Firefox中,使用any按钮时,步进按钮将递增/递减1。 (感谢Michal Stefanow的指出any答案,并在这里看到相关的规格)

这是一个操场,展示各种步骤如何影响各种输入类型:

<form>
  <input type=number step=1 /> Step 1 (default)<br />
  <input type=number step=0.01 /> Step 0.01<br />
  <input type=number step=any /> Step any<br />
  <input type=range step=20 /> Step 20<br />
  <input type=datetime-local step=60 /> Step 60 (default)<br />
  <input type=datetime-local step=1 /> Step 1<br />
  <input type=datetime-local step=any /> Step any<br />
  <input type=datetime-local step=0.001 /> Step 0.001<br />
  <input type=datetime-local step=3600 /> Step 3600 (1 hour)<br />
  <input type=datetime-local step=86400 /> Step 86400 (1 day)<br />
  <input type=datetime-local step=70 /> Step 70 (1 min, 10 sec)<br />
</form>

Via:http://blog.isotoma.com/2012/03/html5-input-typenumber-and-decimalsfloats-in-chrome/

但是如果你想要所有的数字都是有效的,整数和小数点呢? 在这种情况下,将步骤设置为“任何”

<input type="number" step="any" />

适用于我的Chrome,未在其他浏览器中测试过。


根据这个答案

<input type="text" id="sno" placeholder="Only float with dot !"   
   onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||  
   event.charCode == 46 || event.charCode == 0 ">

含义:

字符码:

  • 48-57等于0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • 0是Backspace (否则需要在Firefox上刷新页面)
  • 46是dot
  • &&AND||OR运算符。

    如果您尝试使用逗号浮动:

    <input type="text" id="sno" placeholder="Only float with comma !"   
         onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||  
         event.charCode == 44 || event.charCode == 0 ">
    

    支持Chromium和Firefox(Linux X64) (其他浏览器我不存在。)

    链接地址: http://www.djcxy.com/p/18659.html

    上一篇: Is there a float input type in HTML5?

    下一篇: Using HTML5 input "date" in MVC 3