
#programowanie #angular #javascript
Potrzebuję pomysłu na ogarnięcie takiego problemu. Mam forma do logowania (userName i pw) i button "Login" jest disabled do momentu uzupełnienia obu pól. Problemem jest chromowy autofill, w momencie autouzupełnienia danych chciałbym żeby przypisywało wartość do kontrolek forma przez co button robiłby się enable.. ale niestety tak się nie dzieje. Dopiero jak kliknę gdziekolwiek na stronie tzn. ustawi się focus to przypisuje te wartości. Miał ktoś podobny problem?
Potrzebuję pomysłu na ogarnięcie takiego problemu. Mam forma do logowania (userName i pw) i button "Login" jest disabled do momentu uzupełnienia obu pól. Problemem jest chromowy autofill, w momencie autouzupełnienia danych chciałbym żeby przypisywało wartość do kontrolek forma przez co button robiłby się enable.. ale niestety tak się nie dzieje. Dopiero jak kliknę gdziekolwiek na stronie tzn. ustawi się focus to przypisuje te wartości. Miał ktoś podobny problem?
- Najlepsze
- Wszystkie komentarze
konto usunięte
@Dominias: domyślnie angularowy ControlValueAccessor triggeruje metodę onTouched() na blura, więc musiałbyś pewnie napisać własną kontrolkę i zaimplementować w niej CVA, a w nim wywoływać onTouched() na jakiś event kontrolki typu onChanged
konto usunięte
@Dominias: https://angular.io/api/forms/ControlValueAccessor

Dominias Autor
@tomash-pl: no właśnie walnąłem changed na inpucie z loginem i w metodzie przypisuję wartości kontrolkom, to powinno sprawę załatwić ale to samo - ta metoda odpal się na focus tego widoku dopiero
konto usunięte
@Dominias: no bez implementacji kontrolki z CVA się nie obejdzie raczej - musisz poczytać o tym, bo to dość nietrywialny temat
konto usunięte
@tomash-pl: chociaż nie... daj na inputa event (changed)="formcontrol.markAsTouched()" (formcontrol musisz sobie sam jakoś wybrać)

Dominias Autor
@tomash-pl: no tak wlasnie zrobilem, (change) się nie odpala do momentu "odkliknięcia" gdzieś na stronie
konto usunięte
@Dominias: to spróbuj w takim razie zasubskrybować do valueChanges formgrupy i na tryknięcie daj form.enable()






