type=”number” 的 html 标签输入和基于文化的小数点分隔符

2024-04-07

当我打开具有另一种文化和用户界面(即瑞典)的网站时,我需要的是在英语浏览器中查看正确的小数分隔符。

怎么存档呢?

  <input type="number" step="0.1"  pattern="[0-9]+([\,][0-9]+)?" min="0" max="5" />

如果我应用任何数字,如“0,1”,下次单击微调浏览器时,会将其重置为“0.2”,其中有一个点而不是逗号。

那么如何保持正确的小数分隔符呢?

知道如何用 jQuery 修复它吗?


目前此线程提供的答案导致了更改的解决方案type="number" to type="text"从用户的角度来看,这是退一步。

我用不同的方式处理这个问题。

处理来自后端的数据 - 表单准备。

表单通常提供默认值或某些字段的编辑值。这就是为什么如何为表单中的输入提供值很重要。某些框架可以在将值绑定到表单之前为您本地化值,这就是为什么来自服务器(数据库和编程语言)的值可以用逗号分隔或点分隔。如果您提供0.01(大多数情况)作为输入值,您在客户端的任何浏览器中都不会收到错误,但如果您提供以下值0,01(本地化值)该值在浏览器中不可见,但会作为属性在输入中提供,您将收到控制台错误:it is not proper number value. 所以首先要做的就是用“.”替换“,”。在服务器端呈现表单时,以便在客户端始终存在点分隔值。

如果您此时保留它,您的表单将很容易受到浏览器中区域设置的影响。如果您在 Firefox 中使用区域设置 en-US 打印此类表单,您将看到一个带有点分隔值的输入,但如果您使用 Chrome 并使用区域设置打印此表单 fr-FR 您将看不到以逗号分隔的值。如果您想强制执行特定区域设置,有一个简单的解决方案。有了这个属性:

<html lang="en-US" > 

您将在输入类型编号中得到点,这将为您提供逗号分隔的值:

<html lang="pl-PL" > 

lang 属性也可以在输入本身设置。

前端处理。

在将表单设置为特定区域设置的 Firefox 中,如果您尝试根据您的语言设置将点或逗号作为分隔符,您将收到验证错误。所以请记住,你不能设置novalidate表单上的属性,否则提交时发送的值将为空。 Chrome 会自动为您将点转换为逗号或将逗号转换为点。

这些是我的基本规则。 此外,如果您使用某些 JS 方法(例如 parseFloat()),您将在值中得到点,因此如果您处于类似逗号的语言环境,则必须用逗号替换点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

type=”number” 的 html 标签输入和基于文化的小数点分隔符 的相关文章

随机推荐

  • 如何根据 DataAnnotation 中的另一个属性验证一个属性

    考虑我有这两个属性 public class Test Required ErrorMessage Please Enetr Age public System Int32 Age get set Required ErrorMessage
  • 在大型 PR 堆栈中深度重命名变量

    我有一个包含 100 次提交的 PR 它将作为许多较小的 PR 提交 在 PR 堆栈的底部 我选择了一个现在觉得很奇怪的变量名称 并且希望在每次提交期间更改它 但不想在各处繁琐地解决合并冲突 有没有办法自动执行此操作 使用一些 cli 命令
  • 调整生成的相机流的大小

    我试图让用户捕获图像并使用图像将其添加到屏幕上 然而 由于内存限制 我还需要将此图像的大小调整为大约一半大小 12x 5MP 图像在手机上永远不会很好 我正在正常启动相机任务 它调用 Completed 事件 但是 当我尝试使用 Decod
  • Highcharts - 有关完整图表宽度的问题

    我正在使用 Highcharts 柱形图 我希望它是 100 宽度响应式图表 容器很简单 div 没有任何格式 当文档加载时 图表始终是固定宽度 600x400px 大小 如果我调整窗口大小或切换到另一个浏览器选项卡 图表将填充宽度并变成响
  • 将 >100K 页面链接在一起而不会受到 SEO 惩罚

    我正在创建一个网站 该网站将审查互联网上数十万个其他网站的隐私政策 它的最初内容是基于我的运行普通爬行 http commoncrawl org 50 亿页网络转储和分析所有隐私政策 https stackoverflow com ques
  • 如何使用 Retrofit 和 RxJava/RxAndroid 处理响应错误?

    我无法弄清楚如何使用改造和 RxAndroid 处理响应错误 如果存在网络错误等 则会调用 onError 但我需要能够获取响应以检查是否存在身份验证错误 相反 我得到的是一个带有空字符串的令牌 但我找不到原因 解决这个问题的最佳方法是什么
  • 如何修复滚动

    我在将工具提示定位在表内的数据列上时遇到一些问题 该表本身位于垂直滚动 div 内 为您提供一点背景 由于我无法控制的遗留问题 我正在开发的页面必须通过固定宽度和高度的 iframe 来显示 我需要显示的数据大约有12列 需要全部显示 一列
  • Django - 为什么syncdb不尊重数据库路由器?

    我已经设置了一个数据库路由器 使用以下命令将不同的应用程序和不同的模型定向到不同的数据库db for read and db for write路由器方法 这非常有效 除了 manage py syncdb不尊重这些路由器设置 When I
  • 作为 JS 的相对初学者 我正在努力尝试找到解决方案 我需要找出无序列表的哪一行被单击 ul li Line 1 li li Line 2 li li Line 3 li ul 我真的不想为每一行添加 onclick 事件 我确信一定有办法
  • 在 Android 中将图像添加到画布

    今天是个好日子 我希望您能帮助我理解如何在视图上实现的 OnTouchEvent 上将图像添加到画布中的概念 到目前为止 这就是我想出的 parent是在此自定义视图中实例化并添加到的活动 Override protected void o
  • mongodb 将 $lte 与 $indexOfArray 一起使用

    与模型的集合 stack mean 3 5 如何查询平均值小于 4 38 的堆栈数组索引 db stacks aggregate project index indexOfArray stack mean lte 4 38 我收到此错误 o
  • “@+id”是什么意思?

    我已经阅读了大部分 Android 文档 但还没有找到任何声明来说明 id 值前缀 id 的含义 我知道 string 及其变体的含义 但不知道 的变体 除了给我答案之外 你能告诉我 Android 文档中记录的位置吗 加号仅表示如果 ID
  • 为什么coq互感类型必须具有相同的参数?

    下列的亚瑟的建议 https stackoverflow com a 17304209 403875 我改变了我的Fixpoint相互关系Inductive这种关系 建立 游戏之间的不同比较 而不是 深入研究 但现在我收到一条全新的错误消息
  • 客户端 XSLT 的当前状态

    我上次听说 暴雪是少数几家将客户端 XSLT 付诸实践的公司之一 2008 年 2011年还是这样 还是现在有更多人在生产中探索这种技术 现代浏览器 IE9 FF4 Chrome 和客户端处理能力似乎已准备好利用此标准 在大规模属性上切实节
  • 为什么有人使用 UTF-8 以外的编码? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想知道为什么开发人员需要使用 UTF 8 以外的编码 维基百科列出了 UTF 8 与各种其他编码相比的优点和缺点 http en wikipe
  • UIACollectionView 单元格与visibleCells

    我正在尝试使用 xcode 4 5 中的自动化编写测试脚本 我有一个UICollectionView我想单击一些当前不可见的单元格 根据文档 http developer apple com library ios documentatio
  • 通过 $.ajax 调用返回附件

    我的页面上有一个 iframe 在该 iframe 内我执行代码 ajax url SamplePage ExportToExcel async false data par type POST 响应返回正常 但是我没有收到 保存附件 对话
  • Powershell 替代 Unix who 命令显示 ssh 会话

    我在 Windows 服务器上 想知道谁通过 ssh 进入了服务器 在 Linux 上 以下命令有效 who s Windows 10 上的替代方案是什么 使用提升的 PowerShell 您可以通过以下方式列出所有登录用户 Get Cim
  • Grizzly,共享 spring 生成的上下文

    我有一个独立的 spring 项目 我需要用它启动一个嵌入式休息服务 我可以用 grizzly 启动服务器 我的问题是 当我启动 grizzly 服务器时 它会创建自己的应用程序上下文 因此我的父应用程序创建的实例无法通过 REST 服务访
  • type=”number” 的 html 标签输入和基于文化的小数点分隔符

    当我打开具有另一种文化和用户界面 即瑞典 的网站时 我需要的是在英语浏览器中查看正确的小数分隔符 怎么存档呢