【问题标题】:How To Change value.replace on "oninput " attribute in Angular 7如何更改 Angular 7 中“oninput”属性的 value.replace
【发布时间】:2020-12-14 03:19:16
【问题描述】:

我有一个输入,我想根据属性oninput 上的 T.S 中变量的值进行更改。 这应该只适用于英文字符。

在 HTML 文件中:

<input class="form-control"
       oninput="value=value.replace(rege,'');"
       [(ngModel)]="value"/>

在打字稿文件中:

public rege = '/[^0-9]/g'

错误:未定义 rege

【问题讨论】:

  • 试试&lt;... #input (input)="input.value = $event.value"...&gt;。通常,您不应将表单与 HTML 组件值的直接更改混为一谈。您是否尝试过只使用[(ngModel)]
  • 在 oninput 事件的替换中定义变量有困难,这个解决方案不能解决我的问题。这个问题是为了避免应对和粘贴的问题,感谢响应

标签: angular typescript dom events dom-events


【解决方案1】:
  1. 在 HTML 文件中:

    <input [(ngModel)]="data" (keypress)="stripText($event)" class="form-control">
    
  2. 在 ts 文件中:

    stripText(event) {
       const seperator = '^([0-9])';   
       const maskSeperator = new RegExp(seperator , 'g');
       let result = maskSeperator.test(event.key);   return result;
    } 
    

此解决方案有效,但不会阻止在文本框中复制和粘贴文本


【讨论】:

    猜你喜欢
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2020-03-25
    相关资源
    最近更新 更多