Не удается добавить маску к вводу

#jquery #jquery-inputmask

#jquery #jquery-inputmask

Вопрос:

Я не могу добавить маску к вводу. Я использую для этого плагин jquery https://github.com/RobinHerbots/Inputmask. Мой код:

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

Плагин инициализирован, и во входных данных появляется заполнитель, ошибок нет, но я не могу ввести данные в этот ввод. Что я делаю не так? Есть идеи

Ответ №1:

Вместо маски вам нужно использовать эти параметры:

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

Подробности см. в документе

 $('#iii').inputmask({
    alias: 'datetime',
    inputFormat: 'dd.mm.yyyy',
    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">  

Ответ №2:

Я думаю, что то, что вы ищете, на самом деле

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

Обратите внимание, что маска 99.99.9999 вместо mm.dd.yyyy

Согласно документации, которую вы должны использовать 9 для цифр

Ответ №3:

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

Я проверил, и это работает для меня