Angular 两个按钮提交表单但用途不同

标签 angular angular-reactive-forms submit-button

我有一个 Angular react 形式

<form [formGroup]="form" (ngSubmit)="onSubmit()">

我有两个按钮要提交。当用户按下按钮时,我需要执行一个常见的操作,即提交表单,但我还需要区分按钮,因为我需要根据按下的按钮将用户重定向到不同的页面。
这是我的两个按钮:
<button name="Previous" type="submit" [disabled]="form.invalid"> Previous</button>
<button name="Next" type="submit" [disabled]="form.invalid">Next</button>

如何在 OnSubmit 事件中知道按下了哪个按钮?

最佳答案

user1238784,您不应该直接在 Angular 中使用文档,而是使用 ElementRef 或 Renderer2。
虽然这可行,但它违反了最佳实践,如果您决定在某个时候使用 Angular Universal,它将破坏 SSR。
Angular 中的直接 DOM 操作非常重要,您应该始终使用框架提供的 API 操作 DOM。
但是您甚至不需要任何这些,您可以像这样将事件作为参数传递:

<form [formGroup]="form" (ngSubmit)="onSubmit($event.submitter.id)">
然后在组件中你可以使用事件来识别被点击的按钮
这是您可以访问用于提交表单的输入/按钮的 id 的方式
submitForm(event : MouseEvent) :void
  {
    console.log(event)
  }

关于Angular 两个按钮提交表单但用途不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51098464/

相关文章:

angular - 在表单组 react 表单中插入值

angular - 如何从表单外部提交响应式(Reactive)表单[点击表单外部的保存或更新按钮提交]

html - 如何聚焦 FormArray 内的控件?

c# - 如何在 C# 中将 Button 的类型设置为 "Button"(与默认的 "Submit"相对)?

jquery - 表单提交事件和提交输入点击事件有什么区别?

javascript - 谷歌地图api自定义折线

angular - Angular 2 中 *ngFor ListView 的缓慢呈现 - 利用网络 worker ?

angular - 从一个 View 到另一个 View 访问模板引用变量

angular - 在 Angular 模板中创建本地绑定(bind)上下文

javascript - 如何在 Angular 2 组件中使用 Promise 结果?