ngSubmit为什么绑定到表单中的所有按钮

时间:2018-12-04 07:45:19

标签: typescript angular-forms

您好,我有一个ngForm,我希望能够向其中添加几个具有各种功能的buttons。但是,我还需要一个submit按钮来显示所有状态表格并将其发送给处理程序。

我的问题是,如果我在表单中添加其他按钮,则会在所有按钮上调用ngSubmit处理程序(在其特定的回调之后)

示例

 <form #myForm="ngForm" (ngSubmit)="submit_Handler()">
    <button id="x_btn" (click)="x_Handler()">X</button>
    <button id="y_btn" (click)="y_Handler()">Y</button>
    <button id="z_btn" >Submit</button>
</form>

如果我按下最后一个按钮z_btn,则会调用submit_Handler。但是,如果我按下前两个按钮(xy,则会先调用它们的回调被称为(x_Handlery_Handler),然后又被称为submit_Handler。如何在提交按钮和其他按钮之间实现单独的功能?

2 个答案:

答案 0 :(得分:1)

实际上,如果按钮类型是在表单内提交的,那么当您单击它时,它将回发整个页面/表单,同样发生在角度上。因为,您将所有按钮放入表单中,并将它们绑定到单个ngsubmit中,这就是每次调用该按钮的原因。

在我的建议下,您必须从该表单中删除该ngsubmit并将其放在z_button中,然后仅当您单击z_button时它才会调用,否则它不会调用。

thnx

答案 1 :(得分:1)

据我所知,Map.M(Char).t可能会阻止其提交。可能想看看这篇帖子https://stackoverflow.com/a/15314160/10567964