Javascript 验证Microsoft Edge中值低于0的范围输入

Javascript 验证Microsoft Edge中值低于0的范围输入,javascript,html,validation,range,microsoft-edge,Javascript,Html,Validation,Range,Microsoft Edge,我在使用Microsoft Edge时发现了一些奇怪的东西。我有一个类型为range的输入元素,用户可以选择0.5到0.8之间的值,步骤为0.1。当选择0.5或0.8时,表单将按预期进行验证。如果为0.6或0.7,则验证返回false,并且此字段的验证消息表示我必须输入有效日期 函数检查表(){ msg=(document.getElementById('myForm').checkValidity())?“确定”:“错误” document.getElementById('message'

我在使用Microsoft Edge时发现了一些奇怪的东西。我有一个类型为range的输入元素,用户可以选择0.5到0.8之间的值,步骤为0.1。当选择0.5或0.8时,表单将按预期进行验证。如果为0.6或0.7,则验证返回false,并且此字段的验证消息表示我必须输入有效日期


函数检查表(){
msg=(document.getElementById('myForm').checkValidity())?“确定”:“错误”
document.getElementById('message')。innerHTML=msg+':'+document.getElementById('field')。validationMessage;
}

作为解决问题的方法,我决定使用整数。由于所选值是多重模拟的一个因子,我将从数据库收到的数字(例如0.6)乘以100,在用户选择新值后,我将其除以100,然后存储到数据库中。因此,用户现在选择一个百分比值,而不是一个因子。结果是一样的,但是Edge可以处理这个问题,就像处理所有其他浏览器一样。

作为解决问题的方法,我决定使用整数。由于所选值是多重模拟的一个因子,我将从数据库收到的数字(例如0.6)乘以100,在用户选择新值后,我将其除以100,然后存储到数据库中。因此,用户现在选择一个百分比值,而不是一个因子。结果是一样的,但是Edge可以处理这个问题,就像处理所有其他浏览器一样。

如果您现在不必修复它,您可以等待。非铬边缘基本上正在逐步淘汰。所以,这可能不会很快成为一个问题。我也有,但有人建议我只是等它结束,基本上。也许会更好,我知道。但这可能需要很长时间,因为我在一个大型企业环境中工作,这里的一切都很慢。当IE9发布时,我们仍然得到了IE7。然后我花了一段时间升级到IE9(IE10即将发布)。我在Edge Legacy上复制了这个问题。我还尝试了
min=“0.4”max=“0.7”step=“0.1”
,现在0.4和0.6都可以了。在计算这些验证时似乎有一些问题,我找不到可以遵循的规则。这可能是Edge Legacy browser的问题,您可以尝试在“反馈中心”中提供反馈。但是我不确定它是否会在可预见的时间内被修复,因为新的Edge Chromium发布了。你可以解释你想要实现什么,我们可以看看是否有任何解决办法。作为我问题的解决办法,我决定使用整数。由于所选值是多重模拟的一个因子,我将从数据库收到的数字(例如0.6)乘以100,在用户选择新值后,我将其除以100,然后存储到数据库中。因此,用户现在选择一个百分比值,而不是一个因子。结果是一样的,但是Edge可以像其他浏览器一样处理这个问题。太棒了!你可以将答案作为答案,并将你的答案标记为接受答案。它可以在将来帮助其他社区成员解决类似的问题。谢谢您的理解。如果您现在不必修复它,您可以等待。非铬边缘基本上正在逐步淘汰。所以,这可能不会很快成为一个问题。我也有,但有人建议我只是等它结束,基本上。也许会更好,我知道。但这可能需要很长时间,因为我在一个大型企业环境中工作,这里的一切都很慢。当IE9发布时,我们仍然得到了IE7。然后我花了一段时间升级到IE9(IE10即将发布)。我在Edge Legacy上复制了这个问题。我还尝试了
min=“0.4”max=“0.7”step=“0.1”
,现在0.4和0.6都可以了。在计算这些验证时似乎有一些问题,我找不到可以遵循的规则。这可能是Edge Legacy browser的问题,您可以尝试在“反馈中心”中提供反馈。但是我不确定它是否会在可预见的时间内被修复,因为新的Edge Chromium发布了。你可以解释你想要实现什么,我们可以看看是否有任何解决办法。作为我问题的解决办法,我决定使用整数。由于所选值是多重模拟的一个因子,我将从数据库收到的数字(例如0.6)乘以100,在用户选择新值后,我将其除以100,然后存储到数据库中。因此,用户现在选择一个百分比值,而不是一个因子。结果是一样的,但是Edge可以像其他浏览器一样处理这个问题。太棒了!你可以将答案作为答案,并将你的答案标记为接受答案。它可以在将来帮助其他社区成员解决类似的问题。谢谢你的理解。