我有一个表格上的号码输入有问题。 当我输入一个数字,说88.2,并提交,不存在任何问题。 但是,当这个其他人做同样的,你可以在PHP代码中看到,如果你从数字输入呼应变量,它已经去掉小数点( .
)。
当他使用逗号但它不会删除他的小数点,当我使用一个逗号它删除了我。 有没有什么办法来解决这个问题,使之只接受“” 作为小数点?
这里的输入:
<input id="version" name="version" step="0.1" min="1.0" max="250.0" type="number" class="input-small" placeholder="87.2"></input>
没有什么在PHP代码是不寻常的,只
echo $_POST['version'];
input-small css
:
.input-small {
width: 90px;
}
支持<input type=number>
仍然非常有限的,不完整,和越野车。
例如,有关于IE 10和Firefox 19.他们没有支撑,该元件回退到一个<input type=text>
元素,这意味着任何字符串被接受作为输入并传递给服务器作为这样,无检查。
在支持它的浏览器,如Chrome浏览器的行为变化,并有望改变,因为HTML5 CR 定义故意离开它打开:需要浏览器以某种方式提供数字输入控件,并保证数据最终被送到服务器是正确的,因为每元素的属性(在给定范围内等)。
在实践中,实现依赖于浏览器的语言环境 ,你无法控制,作为一个作家。 这意味着浏览器可以接受88.2,也可能接受88.2(并在内部将其转换为88.2),也可能同时接受,也可能,原则上接受象形文字只能输入(并在内部把它转换成规范形式)。 它甚至可能解析用户输入,使得任何多余的字符只是丢弃,这意味着当逗号是小数分隔88FOO以及88.2可能被截断为88。
会发生什么事,你的情况是很难决定,因为浏览器和平台尚未描述,目前还不清楚是什么服务器获取。 但重要的是, <input type=number>
不能依靠,在所有。 它可以在每个人都使用相同的浏览器相同版本的操作系统相同,直至并包括语言版本和区域设置受控的环境中使用。 否则,使用<input type=text>
输入数字和分析输入的服务器端和可选预检查客户端,并确保你告知输入的预期格式的用户(如小数逗号与小数点)。
类型=“编号”步骤=“任意”可以解决该问题。
http://dev.w3.org/html5/markup/input.number.html