Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 - Fatal编程技术网

Javascript 更改文本框的输入类型

Javascript 更改文本框的输入类型,javascript,Javascript,我正在为我的文本框使用脚本,以确保用户只能输入数字而不是文本 这是我的文本框: <input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" /> 下面是我的javascript: function isNumber(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? e

我正在为我的文本框使用脚本,以确保用户只能输入数字而不是文本

这是我的文本框:

<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" />

下面是我的javascript:

function isNumber(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
     return false;
    }
    return true;
} 
函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
} 
我想升级我的JavaScript。我希望文本框接受带有点的输入,如
11.5

我需要在脚本中更改什么,以便接受点并将其限制为一个?

如果满足您的要求,可以使用type=“number”属性

<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" type="number" />

还是用这个

function isNumber(evt)
{
   var charCode = (evt.which) ? evt.which : evt.keyCode;
   if (charCode != 46 && charCode > 31 
     && (charCode < 48 || charCode > 57))
      return false;

   return true;
}
函数isNumber(evt)
{
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(charCode!=46&&charCode>31
&&(字符编码<48 | |字符编码>57))
返回false;
返回true;
}
试试这个

<input type="text" id="txtCheck" onkeypress="AllowDecimalNumbersOnly(this, event)" />

 function AllowDecimalNumbersOnly(Id, Evt) {
            Id.value = Id.value.replace(/[^0-9\.]/g, '');
            if ((Evt.which != 46 || Id.value.indexOf('.') != -1) && (Evt.which < 48 || Evt.which > 57)) {
                Evt.preventDefault();
            }
        }

函数AllowDecimalNumbersOnly(Id,Evt){
Id.value=Id.value.replace(/[^0-9\.]/g');
if((Evt.which!=46 | | | Id.value.indexOf('.')!=1)和&(Evt.which<48 | | Evt.which>57)){
Evt.preventDefault();
}
}
JavaScript:

<script>
var isHav=false;
function isNumber(evt) {
   evt = (evt) ? evt : window.event;
   var charCode = (evt.which) ? evt.which : evt.keyCode;
   if(charCode == 46){  
      if(isHav==true){
         return false;
      }else{
         isHav=true;
         return true;
      }
   }

   if (charCode > 31 && (charCode < 48 || charCode > 57)) {
      return false;
   } 
      return true;
   }
</script>

var isHav=假;
函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(charCode==46){
如果(isHav==true){
返回false;
}否则{
isHav=真;
返回true;
}
}
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
} 
返回true;
}
HTML:

<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" />

或者,您也可以使用此

函数isNumber(evt){
var theEvent=evt | | window.event;
var key=theEvent.keyCode | | theEvent.which;
key=String.fromCharCode(key);
var regex=/^[0-9.,]+$/;
如果(!正则表达式测试(键)){
theEvent.returnValue=false;
如果(theEvent.preventDefault)theEvent.preventDefault();
}
}
遵循以下代码:

您需要通过添加此参数来更改按键事件的功能 如下图所示:

<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event, this)" />

并更改您的功能,如下所示:

function isNumber(evt, element) {
        var charCode = (evt.which) ? evt.which : event.keyCode
        if ((charCode != 46 || $(element).val().indexOf('.') != -1) &&      // “.” CHECK DOT, AND ONLY ONE.
            (charCode > 31 && (charCode < 48 || charCode > 57)))
        {
            return false;
        }

        return true;
    }
函数isNumber(evt,元素){
var charCode=(evt.which)?evt.which:event.keyCode
if((charCode!=46 | |$(element).val().indexOf('.')!=-1)&&/“.”勾选点,且仅勾选一个。
(charCode>31&(charCode<48|charCode>57))
{
返回false;
}
返回true;
}
您可以检查以下运行代码:

函数isNumber(evt,元素){
var charCode=(evt.which)?evt.which:event.keyCode
if((charCode!=46 | |$(element).val().indexOf('.')!=-1)&&/“.”勾选点,且仅勾选一个。
(charCode>31&(charCode<48|charCode>57))
{
返回false;
}
返回true;
}


以下是参考资料。。您可以使用如下正则表达式验证输入:/^\d*\.?\d*$/这只允许用户输入。你们应该正确地阅读问题。他只需要一个点(.)允许在textbox中使用这是一个精确的脚本,并且只允许十进制或int值。我不知道你为什么否决了这个答案。