2012-03-26 79 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

相關問題