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

1

あなたは

<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> 

それが独特の小数点と一緒に数字のみを許可します、このJavaScriptを使用して試すことができます。

+0

複数の小数点を入力することができます。小数点は繰り返してはいけません。最初の文字ではなく、Mozilla Firefoxでは動作しません。 – Lion

+0

ハイライオン、IEとChromeでは、イベントはwindow.eventに解決されています。 Firefoxにはこのプロパティはありません。これがFirefox上で動作しない理由です。私はjavascriptで試してみます。 – prabu

+0

こんにちは、編集したスクリプトで確認してください。最初の小数点のチェックを行う必要があります。 – prabu

関連する問題