繁体   English   中英

将自动斜线添加到日期字段 extjs

[英]Add auto slashes to date field extjs

我在 extjs 中使用了一个日期字段,我希望它每当用户通过键盘手动添加日期(而不是通过从日期选择器中选择日期)时,应该自动向用户输入的日期添加斜杠。

例如:
如果输入的日期是 2122013,那么它应该被格式化为 2/12/2013 等等。

我有一个纯 JavaScript 解决方案,用于下面给出的表单中的简单文本字段,它可以很好地向文本字段添加斜杠,我想知道的是,是否可以通过使用任何配置选项来自动添加斜杠由 EXTJS 日期字段或 Ext.date 提供,而不是使用纯 JavaScript 解决方案。

当前有效的 JAVASCRIPT 代码:

function FixShortDate(txtBox) {
  if (txtBox == null) {
    return ''
  }

  var re = new RegExp(/(\d{6})(\d{2})?/);

  if (re.test(txtBox.value)) {
    if (txtBox.value.length == 8) {
      txtBox.value = txtBox.value.substring(0, 2) + '/' + txtBox.value.substring(2, 4) + '/' + txtBox.value.substring(4, 8)
    }
    if (txtBox.value.length == 7) {
      txtBox.value = txtBox.value.substring(0, 2) + '/' + txtBox.value.substring(2, 3) + '/' + txtBox.value.substring(3, 8)
    }

    if (txtBox.value.length == 6) {
      if (txtBox.value.substring(4, 6) < 20) {
        txtBox.value = txtBox.value.substring(0, 2) + '/' + txtBox.value.substring(2, 4) + '/20' + txtBox.value.substring(4, 6);
      } else {
        txtBox.value = txtBox.value.substring(0, 2) + '/' + txtBox.value.substring(2, 4) + '/19' + txtBox.value.substring(4, 6);
      }
    }
  }
  return txtBox.value;
}

另外我想知道这是否可能在用户输入日期的同时(即通过捕获任何键盘事件。)

可以使用 EXTJS 日期字段或 Ext.date 提供的任何配置选项,而不是使用纯 JavaScript 解决方案。

此外,我想知道这是否可以在用户输入日期的同时进行(即通过捕获任何键盘事件。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM