<div class="col-md-3 col-xs-3"> Year code: <input type="text" id="txt_01_year" style="width: 100%; max-width: 150px" class="form-control inputRes" /> </div>
<script> //限制使用者輸入年碼為數字,且只能長度1 @20171109 #SW $(function () { $('#txt_01_year').keypress(function () { if ($('#txt_01_year').val != null) { $('#txt_01_year').val(''); } }); $('#txt_01_year').keyup(function () { //alert("QQ"); $(this).val($(this).val().replace(/[^\d]/g, "").substr(0, 1)); }); }); // </script>
在keyup的步驟:
使用者在輸入的當下,若輸入非數字,則取代成""(也就是不給輸入)。
若輸入為數字,但僅接受長度為1,所以要substr(0,1),僅保留長度1。
在keypress的步驟:
若使用者已有輸入數字,則將其取代為空,再接收新的值。
你可以試著把keypress的步驟先停用,就知道為什麼要加上keypress那段了。
關於keyup / keypress / keydown,請參考w3C,有明確定義。
Ref :
https://www.w3schools.com/jquery/event_keypress.asp
沒有留言:
張貼留言
問題沒有大小或好壞