Sto costruendo un modulo che genera un invito quando inviato. L'invito ha diversi campi, uno dei quali è un input di un indirizzo e-mail con un pulsante "aggiungi", che quando viene fatto clic deve aggiungere quell'indirizzo a un elenco di indirizzi e-mail che dovrebbero ricevere l'invito.AngularJS - Come attivare l'invio in un modulo nidificato
Questo può essere fatto con un unico modulo, tuttavia se l'utente preme il tasto Invio durante la digitazione di una e-mail, quindi attiva submit
sull'intero modulo. Mi piacerebbe che il risultato della chiave di invio - quando il campo di input della posta elettronica è focalizzato - abbia lo stesso effetto del pulsante "Aggiungi". Mi aspettavo che il modo corretto per risolvere questo sarebbe per nidificare il modulo di iscrizione e-mail entro il modulo di invito, qualcosa di simile:
<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>
Con il seguente javascript nel controller:
$scope.addInvitee = function() {
$scope.invitation.emails.push($scope.inviteeEmail);
$scope.inviteeEmail = '';
}
$scope.sendInvite = function() {
//code to send out the invitation
}
Il mio problema è che avere nidificato le forme (e in tal modo convertito <form>
-<ng-form>
, presentando uno dei due non funziona più.
forma convalidare e o fornire un prompt di ... "Si inoltra ...." con la possibilità di annullare se non sono fatte – charlietfl
Grazie, che è certamente un modo per attenuare il problema ma non è il comportamento ideale. –
potrebbe anche impedire l'impostazione predefinita 'enter' quando il campo è a fuoco. Lega il gestore della chiave per mettere in campo e liberare la sfocatura. Impossibile nidificare i moduli – charlietfl