Javascript “需要更换”;逗号;与';dot';

Javascript “需要更换”;逗号;与';dot';,javascript,jquery,Javascript,Jquery,请帮助我调整现有脚本以用点替换逗号。 我使用一个脚本来限制在文本字段中插入字符。只接受插入1,2,3,4,5,6,7,8,9,0和“.”和“.”。我想有两个按钮插入点-键==188(逗号)和键==190(点) jQuery.fn.ForceNumericOnly= 函数() { 返回此值。每个(函数() { $(此).keydown(函数(e) { var key=e.charCode | | e.keyCode | | 0; 返回( 键==8 | | 键==9|| 键==46|| 键==110

请帮助我调整现有脚本以用点替换逗号。 我使用一个脚本来限制在文本字段中插入字符。只接受插入1,2,3,4,5,6,7,8,9,0和“.”和“.”。我想有两个按钮插入点-键==188(逗号)和键==190(点)

jQuery.fn.ForceNumericOnly=
函数()
{
返回此值。每个(函数()
{
$(此).keydown(函数(e)
{
var key=e.charCode | | e.keyCode | | 0;
返回(
键==8 | |
键==9||
键==46||
键==110||
键==188 | |
键==190||

(key>=35&&key=48&&key=96&&key您需要使用Replace方法

var someVariable = "1,2,3,4,5,6,7,8,9,0";
$mylabel.text( someVariable.replace(',', '.') );
编辑: 如果您是从文本框中选中,请按如下方式执行:

if(Key == 188){
   var someVariable =  $("#TEXTBOXID").val();
    somVariable = someVariable.replace(',', '.');
}
只用

if(e.keyCode == 188){
    e.preventDefault();
    $(this).val($(this).val() + '.');
}
你去吧。:)


供将来参考。

在触发按键事件后,文本框的值将更新。它不是用点替换逗号的地方。请改用keyup事件:

jQuery.fn.ForceNumericOnly =
    function()
    {
       this.keyup(function(e)
            {
//                console.log("Change");
                $(this).val($(this).val().replace(/,/g,"."));
            });
    };
$("#iMONEY").ForceNumericOnly();

不清楚您遇到了什么问题。我不知道如何用点替换逗号…从逗号开始很容易放弃,但我希望使用活动按钮逗号,但插入点。我认为捕捉“按键”并简单地用点替换字段值中的任何逗号会更容易。谢谢-好主意;)它不是这样的…按KEY=188需要用dotseemyedit替换逗号。希望有帮助。在“keydown”中执行此操作这是一个坏主意。还需要防止按键事件的默认操作。另外,JSFIDLE链接看起来与OP没有任何不同。由于一些问题,FIDLE没有更新。还有@Pointy,下次学习使用编辑功能。我会修正一些小的拼写错误,但你负责回答的实质内容。可能是因为这个code不能阻止“keypress”事件的默认操作。@Pointy,为什么要阻止?如果不能阻止,那么浏览器也会添加逗号!我这么说是因为几年前我编写了一个完全相同的错误:)我现在就试试看;也许有什么改变了,或者我的内存有问题!我在键入时会同时得到“.”和“.”在盒子里。
var key = e.charCode || e.keyCode || 0;
// 110 is numpad comma code
if (key === 188 && key === 110) {
    e.preventDefault();
    $(this).val($(this).val() + '.');                   
}
jQuery.fn.ForceNumericOnly =
    function()
    {
       this.keyup(function(e)
            {
//                console.log("Change");
                $(this).val($(this).val().replace(/,/g,"."));
            });
    };
$("#iMONEY").ForceNumericOnly();