Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Submit Form in Angular4 and Material2

I tried to build my first login form with Angular 4.0.0 with Material 2. But the Form won't submit and trigger the function.

<form #UserLogin="ngForm" *ngIf="active" (ngSubmit)="onSubmit(UserLogin.value)">
<md-input-container>
    <input mdInput [(ngModel)]="data.email" ngControl="email" name="email" placeholder="Benutzername" type="text" required>
</md-input-container>

<md-input-container>
    <input mdInput [(ngModel)]="data.password" ngControl="password" name="password" placeholder="Passwort" type="password" required>
</md-input-container>

<button md-button class="submit-btn" type="submit" [disabled]="!UserLogin.form.valid">Login!</button>

The Submit function:

onSubmit(value: any) {

    console.log('sdfdfg');

    Object.assign(value, this.additionalData);
    this.submitted = true;

    this.auth.login(value).subscribe(
        data => {
            this.loginSuccess.emit(data);
        },
        error => {
            for (const field in this.formErrors) {
                if (this.formErrors.hasOwnProperty(field)) {

                    this.formErrors[field] = [];
                    if (this.validationMessages[field].hasOwnProperty(error.systemCode)) {
                        this.formErrors[field].push(this.validationMessages[field][error.systemCode]);
                    }
                }
            }
        }
    );

}

When i click the login button, he does not print the console log into the console. Any idea why?

like image 294
Budi Avatar asked May 19 '17 08:05

Budi


1 Answers

change button type="button"

<form #UserLogin="ngForm" (ngSubmit)="onSubmit(UserLogin)">
<md-input-container>
    <input mdInput [(ngModel)]="data.email" name="email" placeholder="Benutzername" class="form-control"  type="text" required>
</md-input-container>

<md-input-container>
    <input mdInput [(ngModel)]="data.password" name="password" class="form-control" placeholder="Passwort" type="password" required>
</md-input-container>

<button md-button class="submit-btn" type="button" [disabled]="!UserLogin.form.valid">Login!</button>
</form>

onSubmit(form: ngForm) {

console.log('sdfdfg');
console.log(form.value);

}
like image 94
Arun Kumaresh Avatar answered Oct 14 '22 20:10

Arun Kumaresh