Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 角度:添加斜杠“/&引用;在日期字段的输入类型文本中_Html_Angular_Typescript_Angular2 Template_Angular2 Forms - Fatal编程技术网

Html 角度:添加斜杠“/&引用;在日期字段的输入类型文本中

Html 角度:添加斜杠“/&引用;在日期字段的输入类型文本中,html,angular,typescript,angular2-template,angular2-forms,Html,Angular,Typescript,Angular2 Template,Angular2 Forms,大家好我是新来的, 我想在输入类型=文本中添加斜杠 我不想使用任何包,比如AngularUI或输入类型Date 我想添加/,因为用户以mm/dd/yyyy格式输入日期,如两位数字之后,然后是第5位之后,即12/12/2012。 我尝试了以下代码。请帮助我哪里错了 @component({ selector: 'exp-basic-identity', template: ` <input placeholder="Date of Birth(MM/DD/YYYY)"

大家好我是新来的, 我想在输入类型=文本中添加斜杠

我不想使用任何包,比如AngularUI或输入类型Date

我想添加
/
,因为用户以
mm/dd/yyyy
格式输入日期,如两位数字之后,然后是第5位之后,即
12/12/2012
。 我尝试了以下代码。请帮助我哪里错了

@component({
selector: 'exp-basic-identity',
  template: `
    <input placeholder="Date of Birth(MM/DD/YYYY)"
                           ([ngModel])="formGroup.controls['dob'].value"
                                           formControlName="dob"
                                           (input) = "onKey($event.target.value)"
                                           [type]="'text'"
                                           [animatePlaceholder]="true" i18n>'


export class ExpBasicIdentityComponent implements OnInit {
  public formGroup: FormGroup;
 key: string;
  event: KeyboardEvent;
 onKey(event: KeyboardEvent) {
        let DobVal = this.formGroup.controls['dob'].value;
        if (DobVal.length === 2 || DobVal.length === 5 ) {
            DobVal = DobVal + '/';
        }

    }
}
@组件({
选择器:“exp基本标识”,
模板:`
'
导出类ExpBasicIdentityComponent在Init上实现{
公共formGroup:formGroup;
键:字符串;
事件:键盘事件;
onKey(事件:KeyboardEvent){
让DobVal=this.formGroup.controls['dob'].value;
if(DobVal.length==2 | | DobVal.length==5){
DobVal=DobVal+'/';
}
}
}
我在angular.js中没有找到任何资源 我得到的只是jquery或javascript。 因此,我试图以这种方式实施

现在的问题是,当我在调试中看到时,我得到了“/”

如何在用户输入时自动添加斜杠? 请帮帮我,先谢谢你

现在的问题是,当我在调试中看到时,我得到了“/”


这是因为您位于点
A
,这意味着点
B
处的代码已经执行。
/
来自您在点
B
处编写的代码。我使用以下代码解决了此问题。 感谢@LLai

 onKey(event: KeyboardEvent) {
        let DobVal = this.formGroup.controls['dob'].value;
        if (DobVal.length === 2 || DobVal.length === 5 ) {
            this.formGroup.controls['dob'].setValue(DobVal + '/');
        }
    }
当我使用退格清除字母时,在/之后,它不清除。有什么方法可以避免这种情况吗

有人能帮我做这个吗?
提前谢谢。

@basarat是的,我知道了。但它并没有反映到输入字段中。而且这也不是我的疑问。我想知道如何在用户输入时添加斜杠。你们能帮我一下吗?你们从来并没有用斜杠设置值。
this.formGroup.controls['dob'].setValue(value)
@LLai您能用示例或JSFIDLE解释一下吗???@LLai好的,我知道了。但是现在,如果我使用退格“/”的下一个问题不是用退格删除的吗?我该怎么做?