代码之家  ›  专栏  ›  技术社区  ›  crenshaw-dev

为什么Inputmask不能正确处理日期?

  •  0
  • crenshaw-dev  · 技术社区  · 6 年前

    浏览一下源代码,看起来加载日期扩展应该允许我使用类似的掩码 mm/dd/yyyy .

    预期行为 12/25/2018

    实际行为 :单击字段将使用掩码填充字段,但将光标放在末尾,不允许我键入。

    Inputmask().mask("input");
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/dependencyLibs/inputmask.dependencyLib.js"></script>
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/inputmask.js"></script>
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/inputmask.date.extensions.js"></script>
    
    <input id="input" data-inputmask="'mask': 'mm/dd/yyyy'" />

    这个 documentation 因为这个库非常广泛,但没有列出我的特定掩码的示例。我正在阅读源代码,但我想我会把这个问题抛给更熟悉这个库的人。

    (注意:我已经给这个贴上了标签 jquery-inputmask ,它指的是现在可以使用或不使用jQuery操作的库。)

    3 回复  |  直到 6 年前
        1
  •  4
  •   Álvaro González    6 年前

    我从未使用过此库,但我根据您链接的文档编写了此库:

    Inputmask().mask("input");
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/dependencyLibs/inputmask.dependencyLib.js"></script>
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/inputmask.js"></script>
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/inputmask.date.extensions.js"></script>
    
    <input id="input" data-inputmask="'alias': 'datetime', 'inputFormat': 'dd/mm/yyyy'" />
        2
  •  1
  •   ic3b3rg    6 年前

    'mm/dd/yyyy' 应该是占位符,并且 '99/99/9999' 应该是面具:

    Inputmask().mask("input");
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/dependencyLibs/inputmask.dependencyLib.js"></script>
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/inputmask.js"></script>
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/inputmask.date.extensions.js"></script>
    
    <input id="input" data-inputmask="'mask': '99/99/9999', 'placeholder': 'mm/dd/yyyy'" />

    或者,您可以使用 date 输入:

    <input type='date' />
        3
  •  0
  •   Tyler Roper    6 年前

    您已经包括了日期扩展,允许您执行以下操作 { alias: "datetime", inputFormat: "dd/mm/yyyy"} .

    Inputmask({ alias: "datetime", inputFormat: "dd/mm/yyyy" }).mask("input");
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/dependencyLibs/inputmask.dependencyLib.js"></script>
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/inputmask.js"></script>
    <script src="https://unpkg.com/inputmask@4.0.4/dist/inputmask/inputmask.date.extensions.js"></script>
    
    <input />