Angular2 - 输入键首先执行(单击)表单上的功能
Angular2 - Enter Key executes first (click) function present on the form
我不知道为什么每次在输入元素中按回车键时
应用程序执行它在 html .
中找到的第一个函数
我该如何预防?
我尝试用 (keyup.enter)
事件进行一些测试,但它首先执行第一个(单击)函数,然后是 (keyup.enter)
函数...
这是代码:
html形式
<form role="form" [formGroup]="FormOffertDetail" (keyup.enter)="checkKey()">
<p-dialog modal="modal" [(visible)]="displayModal_Duplicate" width="300" responsive="true">
<p-header>
Dupplica Offerta
</p-header>
<div class="form-group">
<label for="idCustomer">Selezionare il Cliente</label>
<!--<input formControlName="idCustomer" type="text" class="form-control input-sm" id="idCustomer" placeholder="" required autofocus>-->
<select id="idCustomer_dup" class="form-control" formControlName="idCustomer_dup" [(ngModel)]="idCustomer_dup">
<option [value]="c.idCustomer" *ngFor="let c of listCustomers">
{{c.businessName}}
</option>
</select>
</div>
<p-footer>
<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
<button class="btn btn-primary btn-space" (click)="do_OffertDuplicate()"><i class="fa fa-copy fa-lg" aria-hidden="true"></i> Dupplica</button>
<button class="btn btn-danger btn-space" (click)="displayModal_Duplicate=false"><i class="fa fa-trash-o fa-lg" aria-hidden="true"></i> Annulla</button>
</div>
</p-footer>
</p-dialog>
......
component.ts 函数
do_OffertDuplicate() {
if (this.idCustomer_dup == null) {
alert("Selezionare il Cliente");
return;
}
this.offertService.Duplicate(0, this.offert.idOffert, this.idCustomer_dup).subscribe(
res => {
this.displayModal_Duplicate = false;
alert("OFFERTA DUPPLICATA ( "+res.idOffert+" )");
this.router.navigate(['OffertDetail', res.idOffert]);
}
);
}
checkKey()
{
alert();
}
感谢支持!
按钮上没有类型,它被视为提交按钮,因此它可能正在尝试提交表单。尝试将类型添加到按钮标签:
<button
...
type="button"
...
>
我不知道为什么每次在输入元素中按回车键时 应用程序执行它在 html .
中找到的第一个函数我该如何预防?
我尝试用 (keyup.enter)
事件进行一些测试,但它首先执行第一个(单击)函数,然后是 (keyup.enter)
函数...
这是代码:
html形式
<form role="form" [formGroup]="FormOffertDetail" (keyup.enter)="checkKey()">
<p-dialog modal="modal" [(visible)]="displayModal_Duplicate" width="300" responsive="true">
<p-header>
Dupplica Offerta
</p-header>
<div class="form-group">
<label for="idCustomer">Selezionare il Cliente</label>
<!--<input formControlName="idCustomer" type="text" class="form-control input-sm" id="idCustomer" placeholder="" required autofocus>-->
<select id="idCustomer_dup" class="form-control" formControlName="idCustomer_dup" [(ngModel)]="idCustomer_dup">
<option [value]="c.idCustomer" *ngFor="let c of listCustomers">
{{c.businessName}}
</option>
</select>
</div>
<p-footer>
<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
<button class="btn btn-primary btn-space" (click)="do_OffertDuplicate()"><i class="fa fa-copy fa-lg" aria-hidden="true"></i> Dupplica</button>
<button class="btn btn-danger btn-space" (click)="displayModal_Duplicate=false"><i class="fa fa-trash-o fa-lg" aria-hidden="true"></i> Annulla</button>
</div>
</p-footer>
</p-dialog>
......
component.ts 函数
do_OffertDuplicate() {
if (this.idCustomer_dup == null) {
alert("Selezionare il Cliente");
return;
}
this.offertService.Duplicate(0, this.offert.idOffert, this.idCustomer_dup).subscribe(
res => {
this.displayModal_Duplicate = false;
alert("OFFERTA DUPPLICATA ( "+res.idOffert+" )");
this.router.navigate(['OffertDetail', res.idOffert]);
}
);
}
checkKey()
{
alert();
}
感谢支持!
按钮上没有类型,它被视为提交按钮,因此它可能正在尝试提交表单。尝试将类型添加到按钮标签:
<button
...
type="button"
...
>