我正在使用angular forms构建一个from,它可以很好地使用1个按钮。但是当我想要2个按钮时,它很难处理。
我想要一个按钮reset
和一个按钮submit
。 reset
必须放在submit
之前。这是模板:
<form (ngSubmit)="submit()" [formGroup]="form">
//inputs...
<button type="submit" (click)="reset($event)">reset</button>
<button type="submit">submit</button>
</form>
当我在一个输入中按enter
时,form
同时启动submit()
和reset($event)
功能。点击reset
按钮时也一样。我的期望是:
enter
或点击submit
按钮时,表单仅触发submit()
功能reset
按钮时,表单仅触发reset()
功能我可以在reset
按钮之前添加隐藏按钮并在event.stopPropagation(); event.preventDefault()
功能中调用reset()
。但它很难看。有干净的方法吗?任何帮助,将不胜感激。非常感谢!
答案 0 :(得分:19)
您必须将重置按钮的type
设置为button
,而不是submit
。您必须明确设置它,因为属性type
的默认值为submit
:
<form (ngSubmit)="submit()" [formGroup]="form">
//inputs...
<button type="button" (click)="reset($event)">reset</button>
<button type="submit">submit</button>
</form>