2012-03-26 61 views
0

我可以在Javascript中开发以下代码,该代码只允许指定HTML的数字TextField只有位数在Javascript中具有唯一小数点的TextField

function isNumberKey(evt) 
{ 
    var charCode = (evt.which) ? evt.which : event.keyCode; 
    if (charCode > 31 && (charCode < 48 || charCode > 57)) 
    { 
     return false; 
    } 
    return true; 
} 

<input type='text' id='textField' name='textField' onkeypress="return isNumberKey(event);"> 

,但我需要让一个且只有一个小数点()被输入到TextField。我尝试了一些方法,但是我没有编写可以满足这个要求的代码。我怎样才能只允许独特的小数点以及给定的TextField

回答

2

你能试用此Javascript吗?它适用于我的情况:

var decimalPointCount = 0; 
     function checkInputData(evt) { 
      var charCode = (evt.which) ? evt.which : event.keyCode; 
      if (charCode > 31 && (charCode < 48 || charCode > 57)) { 
       if (charCode == 46 && decimalPointCount == 0) { 
        decimalPointCount++; 
        return true; 
       } 
       else { 
        return false; 
       } 
      } 
      return true; 
     } 
+0

稍后再试。截至目前,我有一个忙碌的时间表。谢谢... – Bhavesh 2014-12-09 18:23:55

1

你可以尝试用这个JavaScript,

<script type="text/javascript"> 
    function isNumberKey(evt) 
    { 
var charCode; 
if(evt.keyCode) //For IE 
    charCode = evt.keyCode; 
else if(evt.Which) 
    charCode = evt.Which; // For FireFox 
else 
    charCode = evt.charCode; // Other Browser 

    //var charCode = (evt.which) ? evt.which : event.keyCode; 
    return (charCode<=31 || charCode==46 || (charCode>=48 && charCode<=57)); 
    } 

    function validCurrency(txt) 
    { 
     return txt.match(/^\d*(.\d{0,2})?$/); 
    } 

    function validateForm(formObj) 
    { 
    if(!validCurrency(document.getElementById('textField').value)) 
    { 
     document.getElementById('textField').select(); 
     document.getElementById('textField').focus(); 
     return false; 
    } 
    return true; 
    } 
</script> 

<form name="form1" action="" onsubmit="return validateForm(this);"> 
    Amount: <input type='text' id='textField' name='textField' onkeypress="return isNumberKey(event);"> 

    <button type="submit">submit</button> 
</form> 

将只允许数字有独特的小数点一起。

+0

它允许输入多个小数点。小数点不能重复,也不能是第一个字符,它不适用于Mozilla Firefox。 – Lion 2012-03-30 02:28:45

+0

嗨,狮友,在IE和Chrome中,事件正在解析为window.event。 Firefox没有这个属性。这是不适用于Firefox的原因。我会尝试使用JavaScript。 – prabu 2012-04-02 06:29:43

+0

嗨,现在检查编辑脚本。需要先做小数点检查。 – prabu 2012-04-02 07:29:21

相关问题