Я хочу автоматически добавлять тире (-) в текстовое поле. Как я могу сделать это в машинописном приложении aurelia? - PullRequest
2 голосов
/ 07 октября 2019

Здесь я пытаюсь создать текстовое поле, в котором будет указан контактный номер в формате XXX-XXX-XXXX. Но я не могу создать это. Как я могу создать форматированный контактный номер в машинописном тексте aurelia?

textbox.html

<input type="text" name.bind="name" class="form-control" placeholder.bind="placeholder" maxlength.bind="maxlength" onblur="addHyphen(f)"/>

textbox.ts

addHyphen(f){
    f.value = f.value.slice(0,3)+"-"+f.value.slice(3,6)+"-"+f.value.slice(6,10);
   }

1 Ответ

1 голос
/ 10 октября 2019

Я обновил его, чтобы он работал аналогично JsFiddle, который вы указали в комментариях /

textbox.html

<template>
  <input type="text" name.bind="name" class="form-control" 
    placeholder.bind="placeholder" maxlength.bind="maxlength
    keydown.delegate="keydown($event)" ref="text"/>
</template>

textbox.ts

export class Textbox {
  public text: HTMLInputElement;

  public keydown(e) {
      const key = e.key || e.keyCode || 0;
      if (key !== 8 && key !== 9) {
          if (this.text.value.length === 3) {
              this.text.value += '-';
              console.log(e);
          }
          if (this.text.value.length === 7) {
              this.text.value += '-';
              console.log(e);
          }
      }
    return (key == 8 || key == 9 || key == 46 || (key >= 48 && key <= 57) || (key >= 96 && key <= 105));
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...