Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 如何在jskeypress中插入点而不是逗号_Javascript_Asp.net - Fatal编程技术网

Javascript 如何在jskeypress中插入点而不是逗号

Javascript 如何在jskeypress中插入点而不是逗号,javascript,asp.net,Javascript,Asp.net,在我的网站上,我有一个文本框,其中包含由点分隔的货币金额。用户有时按numpad上的点,这会在文本框中插入昏迷。如何将其转换为圆点?我曾试图在按键事件中执行此操作,但未能使其正常工作。您可以执行以下操作: $('input').keyup(function(e){ var code = e.which ? e.which : e.keyCode; console.log(code); if (code === 110){ var input = this

在我的网站上,我有一个文本框,其中包含由点分隔的货币金额。用户有时按numpad上的点,这会在文本框中插入昏迷。如何将其转换为圆点?我曾试图在按键事件中执行此操作,但未能使其正常工作。

您可以执行以下操作:

$('input').keyup(function(e){
    var code = e.which ? e.which : e.keyCode;
     console.log(code);
    if (code === 110){
        var input = this.value;
        input = input.substr(0, input.length -1);
        console.log(input);
        input += ',';
        this.value = input;        
    }

});

fiddle

如果您希望在键入逗号字符时对其进行转换,我以前已经回答过有关堆栈溢出的类似问题:


不过,我同意@ChrisF上面的评论。

这听起来像是本地化问题。如果区域设置有十进制逗号,您应该能够处理以该格式输入的数字。发布代码会有所帮助。如果用户在输入末尾以外的任何地方键入,则这将不起作用。
<input type='text' onkeypress='return check(this,event);'>

function check(Sender,e){
  var key = e.which ? e.which : e.keyCode;
  if(key == 44){
     Sender.value += '.';
     return false;
  }
}
function check(Sender,e){
  var key = e.which ? e.which : event.keyCode;
  if(key == 44){
     if (document.selection) { //IE
       var range = document.selection.createRange();
           range.text = '.';
     } else if (Sender.selectionStart || Sender.selectionStart == '0') { 
      var start = Sender.selectionStart;
      var end   = Sender.selectionEnd;
      Sender.value = Sender.value.substring(0, start) + '.' +
           Sender.value.substring(end, Sender.value.length);
      Sender.selectionStart = start+1;
      Sender.selectionEnd   = start+1;     
     } else {
      Sender.value += '.';
     }
     return false;
   }
}