输入数字使用占位符时禁用文本

时间:2015-06-11 15:21:26

标签: javascript jquery html

如何在使用占位符时禁用文字?

jsfiddle

input

修改

{{1}}号码应该允许用户只输入数字。

2 个答案:

答案 0 :(得分:1)

jquery numeric插件可以解决问题。谢谢大家的帮助。我不得不写更多的文字,因为答案最少应该是30个字符。

$(document).ready(function(){
   $(".numeric").numeric();
});

答案 1 :(得分:0)

这会阻止用户输入任何不是数字的字符,同时仍允许他们使用不可打印的键(ctrl,alt,backspace,enter等)

第一部分来自this answer to a different question

第二部分基本上每次用户按键时都会检查,以查看该键是否为......

  1. 可打印,
  2. 不是数字
  3. 如果满足这两个条件,请阻止输入字符。

    // https://stackoverflow.com/a/12467610/4639281
    function printable(keycode) {
        var valid =
            (keycode > 47 && keycode < 58)   || // number keys
            keycode == 32 || keycode == 13   || // spacebar & return key(s) (if you want to allow carriage returns)
            (keycode > 64 && keycode < 91)   || // letter keys
            (keycode > 95 && keycode < 112)  || // numpad keys
            (keycode > 185 && keycode < 193) || // ;=,-./` (in order)
            (keycode > 218 && keycode < 223);   // [\]' (in order)
        return !!valid;
    }
    
    // This part is me
    document.getElementById('min').onkeydown = function(e) {
        var char = String.fromCharCode(e.keyCode);
        if(printable(e.keyCode) & isNaN(char)) {
            e.preventDefault();
        }
    }
    <input type="text" placeholder="Min." id="min">