Angular submit не заполняет скрытый ввод перед отправкой - PullRequest
0 голосов
/ 21 июня 2020

Я создаю способ входа в систему с использованием разных провайдеров из angular. У меня проблема с отправкой формы, значение loginProvider не отправляется на сервер. У меня есть форма, которая выглядит так:

<form #form method="post" class="form-horizontal" [action]="loginUrl">
    <div>
        <p>
        <button ion-button block (click)="loginFrom(form, 'StripeConnect')" title="Log in using Stripe">
            Stripe Connect
        </button>
        <button ion-button block (click)="loginFrom(form, 'google')" title="Log in using Google">
            Google
        </button>
            <input type="hidden" name="provider" [value]="loginProvider">
            <input type="text" name="entryCode" placeholder="Entry Code">
        </p>
    </div>
</form>

В моем машинописном файле у меня есть следующее:

loginProvider: string
loginFrom(form, loginProvider) {
  this.loginProvider = loginProvider;
  setTimeout(() => form.submit(), 0);
}

1 Ответ

3 голосов
/ 21 июня 2020

Вы можете поместить различные значения в качестве значений формы для кнопок отправки следующим образом:

<form #form method="post" class="form-horizontal" [action]="loginUrl">
    <div>
        <p>
        <button ion-button block type="submit" name="loginProvider" value="StripeConnect" title="Log in using Stripe">
            Stripe Connect
        </button>
        <button ion-button block type="submit" name="loginProvider" value="google" title="Log in using Google">
            Google
        </button>
            <input type="text" name="entryCode" placeholder="Entry Code">
        </p>
    </div>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...