我有两个输入字段和一个按钮。 当我在应该执行某些代码的两个输入字段之一中按Enter时,执行按钮的代码会发生什么情况
<div class="input-group">
<button mat-raised-button color="primary"
(click)="getCurrency()"
style="margin-right: 10px;width: 20px">...</button>
<div class="input-group-prepend">
<input id="currencyDesc" type="text" size="15" [(ngModel)]='name' [ngModelOptions]="{standalone: true}">
</div>
<div class="input-group-prepend">
<input formControlName="CRCYIsn" type="text" size="4" (keyup.enter)="currencyByIsn()">
</div>
<label> : العملة</label>
</div>
答案 0 :(得分:3)
在该按钮上尝试使用(keydown.enter)="$event.preventDefault()"
,如下所示:
<button mat-raised-button color="primary"
type="button"
(keydown.enter)="$event.preventDefault()"
(click)="getCurrency()"
style="margin-right: 10px;width: 20px">...</button>
如果是表单,请尝试将此代码放在<form>
标签本身上
答案 1 :(得分:0)
对于ENTER键,为什么不使用(keyup.enter)
<div class="input-group">
<button mat-raised-button color="primary"
(click)="getCurrency()"
style="margin-right: 10px;width: 20px">...</button>
<div class="input-group-prepend">
<input id="currencyDesc" (keyup.enter)="doSomething()" type="text" size="15" [(ngModel)]='name' [ngModelOptions]="{standalone: true}">
</div>
<div class="input-group-prepend">
<input formControlName="CRCYIsn" (keyup.enter)="doSomething()" type="text" size="4" (keyup.enter)="currencyByIsn()">
</div>
<label> : العملة</label>
</div>
答案 2 :(得分:0)
我将更改以下内容:
答案 3 :(得分:0)
默认情况下,表单内的按钮的类型为submit
。告诉按钮类型为button
,并且不应触发该按钮:
<button mat-raised-button type="button" color="primary" (click)="getCurrency()">
也如上所述,请勿将反应式与ngModel
混合使用。