Угловая 5-кнопочная кнопка ввода при нажатии клавиши ввода - PullRequest
0 голосов
/ 02 мая 2018

У меня есть приложение формы Angular 5, использующее все обычные модели, но в формах я хочу, чтобы форма отправлялась без физического нажатия кнопки «Отправить».

Я знаю, что это обычно так же просто, как добавить type=submit к моему элементу кнопки, но, похоже, он не работает вообще.

На самом деле я не хочу вызывать функцию onclick, чтобы она работала. Может кто-нибудь предложить что-нибудь, что я могу пропустить.

<form (submit)="search(ref, id, forename, surname, postcode)" action="#">
  <mat-card>
    <mat-card-title class="firstCard">Investor/Adviser search</mat-card-title>
    <mat-card-content>
      <p *ngIf="this.noCriteria" class="errorMessage">Please enter search criteria.</p>
      <p *ngIf="this.notFound" class="errorMessage">No investor's or adviser's found.</p>
        <mat-form-field>
          <input matInput id="invReference" placeholder="Investor/Adviser reference (e.g. SCC/AJBS)" #ref>
        </mat-form-field>
        <mat-form-field>
          <input matInput id="invId" placeholder="Investor/Adviser ID" type="number" #id>
        </mat-form-field>
        <mat-form-field>
          <input matInput id="invForname" placeholder="Forename" #forename>
        </mat-form-field>
        <mat-form-field>
          <input matInput id="invSurname" placeholder="Surname" #surname>
        </mat-form-field>
        <mat-form-field>
          <input matInput id="invPostcode" placeholder="Postcode" #postcode>
        </mat-form-field>
    </mat-card-content>
    <mat-card-footer>
      <button mat-raised-button type="submit" class="successButton" id="invSearch" title="Click to perform search.">Search</button>
    </mat-card-footer>
  </mat-card>
</form>

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Вы также можете использовать фиктивную форму, например:

<mat-card-footer>
<form (submit)="search(ref, id, forename, surname, postcode)" action="#">
  <button mat-raised-button type="submit" class="successButton" id="invSearch" title="Click to perform search." >Search</button>
</form>
</mat-card-footer>

функция поиска должна return false, чтобы убедиться, что действие не выполняется.
Просто убедитесь, что форма сфокусирована (это должно быть при наличии ввода в форме), когда вы нажимаете ввод

0 голосов
/ 02 мая 2018

попробуйте использовать keyup.enter или keydown.enter

  <button type="submit" (keyup.enter)="search(...)">Search</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...