2017-09-27 5 views
1

J'ai 4 entrées et 1 bouton qui est désactivéévénement après tous les champs remplis

<input type="text"> 
<input type="text"> 
<input type="text"> 
<input type="text"> 
<input type="button" disabled="true"> 

Comment puis-je supprimer l'attribut désactivé du bouton après tous les champs seront remplis. Quelque chose d'autre est survenu sur oninput et onchange.

+0

Quel est le point? Pourquoi ne pas utiliser le meilleur événement approprié à cet effet? – Teemu

+0

@Teemu est-il correct de le valider après toutes les entrées en entrée? Événement sur le changement sera mauvais parce que c'est seulement pour les mobiles – ItsMyLife

+0

Cela dépend de .. mais en général oui. 'onchange' que pour les mobiles? C'est un peu malinformation, les navigateurs de bureau ont également implémenté 'onchange'. – Teemu

Répondre

1

Vous pouvez le faire en utilisant FormGroups

app.component.html

 <form [formGroup]="mygroup" > 

      <input type="text" formControlName="input1"> 
      <input type="text" formControlName="input2"> 
      <input type="text" formControlName="input3"> 
      <input type="text" formControlName="input4"> 

      <input type="button" disabled="true" type="submit" [disabled]="!mygroup.valid"> 
     </form> 

app.component.ts

import { Component } from '@angular/core'; 
import {Validators, FormBuilder, FormGroup } from '@angular/forms'; 


export class FormsPage { 
    private mygroup : FormGroup; 

    constructor(private formBuilder: FormBuilder) { 
    this. mygroup = this.formBuilder.group({ 
     input1: ['', Validators.required], 
     input2: ['', Validators.required], 
     input3: ['', Validators.required], 
     input4: ['', Validators.required], 
    }); 
    } 

}