2016-11-24 13 views
14

メールフォームとパスワードフィールドを持つログインフォームがあります。ブラウザの自動入力時に角2 - フォームが無効です

ブラウザの自動入力用に選択しました。

問題は次のとおりです。ブラウザがログインフォームを自動入力すると、両方のフィールドが初期状態であり、送信されないため、送信ボタンは無効になります。

無効なボタンをクリックすると、送信アクションが有効になり、何がいいのですか。しかし、デフォルトの無効化されたアスペクトは、一部のユーザーを失望させる可能性のあるものはかなり悪いです。

対処方法に関するアイデアはありますか?

+0

にタグで<input ... required ...>ディレクティブを使用して、あなたはこの問題を解決することができましたか? – JohnDizzle

+0

@ JohnDizzle:あなたはそれを稼働させることができましたか?もしそうなら、どうですか? :) – Denish

+0

@デニッシュいいえ、私はあなたを失望させなければなりません。これはコミュニティの皆さんにとってオープンな問題です... – JohnDizzle

答えて

0

同じ問題もありました。私はこれが最善の方法であるかどうかわからないんだけど、私はAfterViewChecked

import { Component, AfterViewChecked } from "@angular/core"; 

export class LoginComponent implements AfterViewChecked { 
    // Beware! Called frequently! 
    // Called in every change detection cycle anywhere on the page 
    ngAfterViewChecked() { 
     console.log(`AfterViewChecked`); 
     if (this.usr.userName) { 
      // enable to button here. 
      console.log("found username in AfterViewChecked"); 
     } 
    } 
} 

またはあなたが https://embed.plnkr.co/?show=preview

+0

これはボタンを有効にしますが、フォーム自体はまだ無効なので、送信は行われません。 – Euridice01

+0

これはまったく良い解決策ではありません – SherlockStd

0

Angular2の他のライフサイクルフックを試すことができるかもしれないを追加することによって、それが仕事を得ることができた私が持っていました同じ問題。

私はでそれを解決: - コンポーネント にパスワードフィールドのValidators.requiredバリデータを削除する - テンプレート

関連する問題