Est-il possible de soumettre un formulaire qui n'a pas de bouton "submit" (en appuyant sur "enter") ? exemple :
<form [ngFormModel]="xxx" (ngSubmit)="xxxx()">
<input [(ngModel)]="lxxR" ngControl="xxxxx"/>
</form
Est-il possible de soumettre un formulaire qui n'a pas de bouton "submit" (en appuyant sur "enter") ? exemple :
<form [ngFormModel]="xxx" (ngSubmit)="xxxx()">
<input [(ngModel)]="lxxR" ngControl="xxxxx"/>
</form
Cela fonctionne très bien si vous avez simplement une vieille fonction que vous souhaitez appeler au lieu d'un gestionnaire d'envoi.
Cette approche a été mentionnée dans la documentation d'Angular. angular.io/docs/ts/latest/guide/
Peut-être que vous ajoutez keypress
o keydown
aux champs de saisie et attribuez l'événement à la fonction qui effectuera l'envoi lorsque l'on clique sur Entrée.
Votre modèle devrait ressembler à ceci
<form (keydown)="keyDownFunction($event)">
<input type="text" />
</form
Et votre fonction dans votre classe ressemblerait à ceci
keyDownFunction(event) {
if (event.keyCode === 13) {
alert('you just pressed the enter key');
// rest of your code
}
}
Editar:
<form (submit)="submit()" >
<input />
<button type="submit" style="display:none">hidden submit</button>
</form>
Pour utiliser cette méthode, vous devez disposer d'un bouton d'envoi, même s'il n'est pas affiché "Thanks for Réponse de la boîte à outils "
Vieille réponse :
Oui, exactement comme vous l'avez écrit, sauf que le nom de l'événement est (submit)
au lieu de (ngSubmit)
:
~~<form [ngFormModel]="xxx" (submit)="xxxx()"> <input [(ngModel)]="lxxR" ngControl="xxxxx"/> </form>~~
Utilisez "visibility : hidden ;" à la place. Le "display:none ;" fonctionne dans chrome, mais pas dans safari.
Merci, c'est plus facile que je ne le pensais. Résolu comme ceci : <input type="text" class="form-control" [(ngModel)]="object.LanguageTableData" (blur)="mymethod()" (keyup.enter)="mymethod()" />
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.