2016-09-02 10 views
0

ユーザが4桁を超えて入力することを制限しようとしています。入力テキストをマスキングして4桁にしか入力しない

私が使用していることについては

$("#YEAR").mask("(9999)"); 

しかし、私は次のエラーを取得しています:

JavaScript runtime error: Object doesn't support property or method 'mask'

は、私はそれのためのライブラリを含める必要がありますか?

+0

あなたはjQueryの後に '.mask'ライブラリをインポートし、カスタムコードの前にしていますか? – evolutionxbox

+0

jquery-1.10.2.min.js以外のライブラリは使用していません – SantyEssac

+0

Any JQuery Masking Libraryを使用する必要がありますか? – SantyEssac

答えて

2

簡単な解決策は次のようになります。

$(function() { 
 
    $('#YEAR').on('keypress', function(e) { 
 
    var charCode = (e.which) ? e.which : event.keyCode 
 
    if (charCode < 48 || charCode > 57) { 
 
     return false; 
 
    } 
 
    return true; 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<form> 
 
    <input type="text" maxlength="4" id="YEAR" name="YEAR"/> 
 
</form>

+0

あなたが含む/除外するチャレンジコードは何ですか? – evolutionxbox

+0

@evolutionxboxユーザが非数値の文字を押した場合、それはエスケープされます:falseを返します。 maxlegthプロパティは、テキスト入力フィールドで機能します。したがって、このプロパティはわずか4文字に制限され、関数は入力を桁数に制限します。 – gaetanoM

+0

入力maxlength属性のブラウザの互換性は何ですか? – evolutionxbox

関連する問題