Buduję formularz, który generuje zaproszenie po przesłaniu. Zaproszenie ma kilka pól, z których jednym jest adres e-mail wprowadzany za pomocą przycisku "dodaj", który po kliknięciu powinien dodać ten adres do listy adresów e-mail, które powinny otrzymać zaproszenie.AngularJS - sposób wyzwalania przesyłania w formie zagnieżdżonej
Można to zrobić za pomocą pojedynczego formularza, jednak jeśli użytkownik wpisze klawisz Enter podczas pisania wiadomości e-mail, wywoła ona submit
w całym formularzu. Chciałbym uzyskać wynik klawisza Enter - gdy pole wprowadzania adresu e-mail jest skupione - ma taki sam efekt, jak kliknięcie przycisku "Dodaj". Spodziewałem się, że właściwym sposobem rozwiązania tego byłoby gniazdo formą wejścia e-mail w postaci zaproszenia, coś takiego:
<ng-form ng-submit="sendInvite()">
<input type="text" placeholder="Title" ng-model="invitation.title"/>
<ng-form ng-submit="addInvitee()">
<input type="email" placeholder="Title" ng-model="inviteeEmail"/>
<button class="btn" type="submit">add</button>
</ng-form>
<button class="btn" type="submit">Send</button>
</ng-form>
z następującymi javascript w kontrolerze:
$scope.addInvitee = function() {
$scope.invitation.emails.push($scope.inviteeEmail);
$scope.inviteeEmail = '';
}
$scope.sendInvite = function() {
//code to send out the invitation
}
mój problem jest to, że po zagnieżdżać formularze (iw ten sposób przekształcony z <form>
do <ng-form>
, składając albo nikt już nie działa.
forma potwierdzić i czy zapewniają wiersz ... „Przesyłasz ....” z szansą, aby anulować, jeśli nie są one wykonane – charlietfl
Dzięki, że to na pewno sposób na złagodzić problem, ale nie jest to idealne zachowanie. –
może również zapobiec ustawieniu wartości domyślnej "enter", gdy pole jest ostre. Przypisz obsługę klucza do pola i rozwiń rozmycie. Nie można zagnieżdżać formularzy – charlietfl