域名注册_局域网dns服务器_速度快

2021-05-03 18:23

简介

在本博客中,您将学习如何在Edge或Firefox浏览器中处理数字输入字段。

当数字数据是用户的预期输入时,云服务器服务好,就会使用数字输入字段。sap.m.Input type="Number"的理想行为是只接受数字,大数据分析网站,键盘上键入的任何其他字符既不会显示在屏幕上,也不会出现在输入字段的"value"属性中。

但Microsoft Edge或Firefox浏览器不支持这种行为。这些浏览器接受非数字字符,即使输入字段的类型是"数字"。

下面是微软Edge上SAPUI5演示工具包的输入示例截图。如我们所见,数字输入接受字符。

解决方法

在控制器中包含适当的验证。但有个陷阱。当输入字段中的数据不是数字并且我们试图访问sap.m.input字段的值时,返利app可信吗,我们得到一个null作为结果。这对访问值的所有方法都有效:使用liveChange或change之类的事件和使用getValue方法。

解决方法是我们使用这个事实来验证字段中的数据是否为数字。

在控制器中,每当数字输入触发liveChange或change时,检查值是否为null。如果为空,则输入字段中的数据无效,可以使用setValueState()将字段的值状态相应地设置为"警告"或"错误"。如果不为空,则数据是一个有效的数字,这里的值状态必须设置为"成功"或"无"。

每当某个数字输入字段被设置为"错误"的值状态时,物联网城市,我们可以在控制器中阻止表单的提交,从而确保只输入数字数据。

示例代码片段:

这是事件处理程序的实现。

它的行为如下:

对于无效输入:

对于有效数字:

增加了此逻辑的额外功能:

Google Chrome支持数字输入,即它只接受键盘上键入的数字,此外,它还接受以下字符:。(点)、e(指数)、–(负)和+(正)。因此,当您使用regex(或任何其他逻辑)访问数字输入值以进行验证时,如果条目包含这些字符并且无效,例如:"1..2"或"-1-2",您将得到一个null,因此regex测试失败。我们可以通过首先检查值是否为null,然后仅在值不为null时继续执行进一步的regex测试来修复此行为。如果第一次检查结果为空,我们可以直接相应地设置输入字段的值状态,自助建站系统哪个好,跳过regex测试

结论

虽然我们不能让Edge和Firefox浏览器正确支持数字输入,我们可以使用这种逻辑确保用户只输入数字数据,我们可以期望Edge和Firefox在将来的版本中提供数字输入的支持;在此之前,可以实现这种解决方法。

分享到:
收藏
相关阅读