Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数字字段中放置逗号_Javascript_Ruby On Rails_Ruby On Rails 4_Rails Activerecord - Fatal编程技术网

Javascript 在数字字段中放置逗号

Javascript 在数字字段中放置逗号,javascript,ruby-on-rails,ruby-on-rails-4,rails-activerecord,Javascript,Ruby On Rails,Ruby On Rails 4,Rails Activerecord,我有很多带有数字字段的表单,用于输入相当大的数字。我正在使用一些javascript自动放置一个逗号来分隔数字,以便于在表单中阅读问题是,当字段保存到数据库中时,文本字段中的逗号使其成为非整数,因此它只保存第一组数字(从左到右),然后再使用逗号 我的问题是:处理这个问题的最佳方法是什么?我想这一定是一种比较普遍的情况,尽管我真的找不到一个简单的答案 我尝试过在验证之前添加一个方法来去掉逗号,但是在那一点上,数字已经改变了。如果我绝望了,我想我可以: 1) 将虚拟字段添加到我的视图中并隐藏整数字段

我有很多带有数字字段的表单,用于输入相当大的数字。我正在使用一些javascript自动放置一个逗号来分隔数字,以便于在表单中阅读问题是,当字段保存到数据库中时,文本字段中的逗号使其成为非整数,因此它只保存第一组数字(从左到右),然后再使用逗号

我的问题是:处理这个问题的最佳方法是什么?我想这一定是一种比较普遍的情况,尽管我真的找不到一个简单的答案

我尝试过在验证之前添加一个
方法来去掉逗号,但是在那一点上,数字已经改变了。如果我绝望了,我想我可以:

1) 将虚拟字段添加到我的视图中并隐藏整数字段

2) 抓取并更改控制器中的参数

3) 在提交之前,覆盖提交按钮以运行逗号加密脚本

但所有这些似乎都太过分了。在这方面有更好的做法吗


提前感谢。

您可能需要在数据库中将数字保留为整数,但只需用逗号显示即可。请查看此链接

如何允许字段为字符串字段,然后在
.to_i
方法上进行标记

编辑

实际上,您需要创建一个处理这些输入字段的方法,并在保存之前调用它

inputname do |i| 
    i.delete!(',').to_i
end

终于偶然发现了答案。有一个很棒的jquery插件,名为格式化文本框的外观,但不格式化其值属性。它甚至有一个简单易用且有很好的文档记录的版本。看看


另外,它不能很好地与简单表单的
f.input
配合使用。您仍然可以使用简单表单,但在任何要格式化的字段上,请改用
f.text\u field

或在服务器上将其解析为字符串,并删除其中的逗号。不幸的是,似乎一旦到达模型,该数字已被修改,因此不再有用。即使是验证之前的
也发生得太晚了。