无法为输入添加遮罩

问题描述

我无法在输入中添加掩码。我使用https://github.com/RobinHerbots/Inputmask的jquery插件。我的代码

<input id="iii">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="jquery.inputmask.min.js"></script>
<script >
  $(document).ready(function () {
    $('#iii').inputmask({
      mask: 'dd.mm.yyyy',placeholder: 'dd.mm.yyyy'
    })
  })
</script>

https://jsfiddle.net/3179or5n/

插件已初始化,并且占位符出现在输入中,没有错误,但是我无法在此输入中输入数据。我究竟做错了什么?任何想法

解决方法

您需要使用以下选项来代替遮罩:

alias: 'datetime',inputFormat: 'dd.mm.yyyy',inputmode: 'numeric'

有关详细信息,请参见doc

$('#iii').inputmask({
    alias: 'datetime',inputmode: 'numeric',placeholder: 'dd.mm.yyyy'
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/RobinHerbots/Inputmask@5.x/dist/jquery.inputmask.js"></script>



<input id="iii">

,

我认为您实际上正在寻找

$(document).ready(function () {
    $('#iii').inputmask({
      mask: '99.99.9999',placeholder: 'dd.mm.yyyy'
    })
})

请注意,掩码是99.99.9999而不是mm.dd.yyyy

根据documentation,您应该使用9作为数字

,

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="./jquery.inputmask.min.js"></script>
</head>

<body>
    <input id="iii" type="text">
    <script>
        $(document).ready(function () {
            $('#iii').inputmask({
                "mask": "99.99.9999","placeholder": "dd.mm.yyyy"
            });
        });
    </script>
</body>

</html>

我已经检查过了,这对我有用