Javascript 重新格式化输入字段
我想在提交时重新格式化HTML表单字段的内容 例如:用户输入“Javascript 重新格式化输入字段,javascript,html,forms,Javascript,Html,Forms,我想在提交时重新格式化HTML表单字段的内容 例如:用户输入“1.234,56”(这是此区域设置中数字的有效格式),但我想将值“1234.56”提交给服务器 我想听听其他人的经验。你是怎么做到的 我的第一个想法是一个onSubmit事件,它重新格式化了内容。但是有没有人有过这方面的实施经验 还是一个更好的主意 Javascript总是可用的。如果Dojo更简单,我可以用它 顺便说一句:它实际上有点复杂,因为我也想重新格式化“模糊”。因此,用户输入“1234,56”(输入格式)。焦点更改时,应将
1.234,56
”(这是此区域设置中数字的有效格式),但我想将值“1234.56
”提交给服务器
我想听听其他人的经验。你是怎么做到的
我的第一个想法是一个onSubmit事件,它重新格式化了内容。但是有没有人有过这方面的实施经验
还是一个更好的主意
Javascript总是可用的。如果Dojo更简单,我可以用它 顺便说一句:它实际上有点复杂,因为我也想重新格式化“模糊”。因此,用户输入“
1234,56
”(输入格式)。焦点更改时,应将其重新格式化为“1.234,56
”(显示格式)。但发送到服务器的实际值应为“1234.56
”(机器格式)。输入格式和显示格式之间的转换应该很容易,但也许所有这些都可以通过某种巧妙的方式组合起来
编辑:这不是针对公共网站的,因此关于依赖Javascript和类似内容的意见是不相关的。好吧,我想到的一个想法可能是专门使用Javascript,并将实际输入的值存储到隐藏字段中。然后捕获textbox的onBlur Javascript事件,以调用根据您的需求格式化值的函数
最后,在提交表单时,访问隐藏字段中的值,而不是文本框。您提问的方式基本上是希望在客户端进行验证,这在任何情况下都是不允许的。只需提交数字并使用特定于语言环境的处理在服务器端验证它。如果您需要即时反馈,请使用AJAX,但要在服务器端进行验证--您可以通过AJAX请求执行onBlur()。根据这些信息,我可能会执行以下操作: 模糊处理程序应该
此外,我可能会更改服务器端操作,以便能够在许多地区处理金额。这将在Javascript中的提交处理程序上给我更多的回旋余地。我不同意客户端验证是一件坏事。缺少服务器端验证是一件坏事,但这是另一回事。(而且AJAX仍然与服务器联系,这是一种浪费。)在这种情况下,在客户端格式化它是非常实用的。我也想到了这一点。但这会使输入数据的大小增加一倍。这也可以处理,但似乎不太实际。