【问题标题】:How to prevent autofill on datefield in ExtJS?如何防止 ExtJS 中日期字段的自动填充?
【发布时间】:2016-10-27 13:09:12
【问题描述】:

当日期值无效时,Ext 会尝试生成正确的日期。例如,如果在 KitchenSink 的日期字段中输入21,按Tab,它将是日期10/21/16(http://examples.sencha.com/extjs/6.0.2/examples/kitchensink/#form-fieldtypes)

如何禁用此行为?

【问题讨论】:

    标签: javascript extjs datefield


    【解决方案1】:

    日期字段上有一个名为 altFormats 的配置,它将根据由 | 分隔的格式列表重新格式化用户输入的值。默认为:

    m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m /d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j

    但如果您设置altFormats: null,您想要禁用的行为将不再起作用。您可能希望保留其中一些格式,只删除您不希望转换为有效日期的格式。

    看这个小提琴https://fiddle.sencha.com/#fiddle/1jed

    【讨论】:

      【解决方案2】:

      对不起第一个答案。 这应该可以。

          listeners: {
              blur: function() {
                  this.setValue("");
              }
          }
      

      【讨论】:

      • 已更新。试试这个解决方案
      • 我修改了小提琴,但在blur 监听器日期字段的值已发生突变,例如。日期对象,所以setValue('') 只是清除所有值,但我想清除不是日期格式的值并保持正确的日期。值 21 在某种程度上是正确的
      • 您不想只是“禁用此行为”吗?
      • 我的意思是禁用“自动完成”:当按 Tab 键时 21 等值变为日期时。在组合框中,这是typeAhead config
      • 因为它的内部解析功能。你应该用你自己的逻辑覆盖 onBlur 函数。
      猜你喜欢
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多