提交输入,反应形式只有单选按钮角5

时间:2018-01-25 07:42:35

标签: angular angular5 angular-reactive-forms

我有form只包含radio buttons作为输入。我还有submit button提交form。但我想提交form点击输入密钥。以下是我到目前为止的情况。

<form [formGroup]="verificationOption" (keyup.enter)="sendVerificationCode()" (ngSubmit)="sendVerificationCode()">
    <input type="radio" formControlName="verificationType" [value]="message" checked>
    <span class="text_radio_space"> Text Message</span><br/><br/>
    <input type="radio" formControlName="verificationType" [value]="voicecall">
    <span class="text_radio_space"> Voice Call</span><br/><br/>
    <div class="text-right">
        <button type="submit" class="btn btn-design-auth">Send Code </button>
    </div>
</form>

默认情况下,将选择第一个选项,当用户点击进入时,表单应该被提交。我已将(keyup.enter)添加到form,但这似乎没有按预期工作。此外,如果用户选择任何其他选项或切换到不同的选项,并且enter被点击,form提交会发生两次。这是因为(ngSubmit)上的(keyup.enter)form。在这种情况下,如何防止form submission两次发生?

1 个答案:

答案 0 :(得分:1)

这是你的问题:

<button type="submit" class="btn btn-design-auth">Send Code </button>

替换为:

<input type="submit" class="btn btn-design-auth" value="Send Code">

这将使用enter键启用submition。删除所有(keyup.enter)听众,您将不再需要它。