2016-05-25 20 views
2

ポリマー1.0 クローム50.0.2661.102紙入力のオートコンプリートは、私は紙入力とクロムオートフィルを有効にしようとしています

を埋めるために失敗しました。いずれかの入力を選択すると、標準の適切なクロム自動入力プロンプトリストが表示されますが、リストから使用可能な名前または電子メールを選択しても入力は入力されません。

<paper-input 
    id="email" 
    name="email" 
    label="Email" 
    type="email" 
    autocomplete="email" 
    ></paper-input> 
    <paper-input 
    id="password" 
    name="password" 
    label="Password" 
    type="password" 
    autocomplete="current-password" 
    ></paper-input> 
+0

これは[他の質問](http://stackoverflow.com/questions/37330074/autocomplete-autofill-with-polymer-input-elements-gold-email)に似ています-input/37332438#37332438)。あなたは問題を再現するjsbinを提供できますか? – tony19

答えて

1

属性を持たないフォームタグで入力をラップしてみてください。このように:

<form> 
    <paper-input 
    id="email" 
    name="email" 
    label="Email" 
    type="email" 
    autocomplete="email" 
    ></paper-input> 
    <paper-input 
    id="password" 
    name="password" 
    label="Password" 
    type="password" 
    autocomplete="current-password" 
    ></paper-input> 
</form> 
+0

Androidの場合のみ動作し、iPhoneのSafariでは動作しません – grvpanchal

0

それを動作させるために、あなたは、現在(2018年8月2日)日陰のDOMに切り替える必要があり、ブラウザはshadowDOMためオートフィルをサポートしていません。

  1. https://bugs.webkit.org/show_bug.cgi?id=172567
  2. https://bugs.chromium.org/p/chromium/issues/detail?id=746593
  3. https://github.com/PolymerElements/paper-input/issues/554
  4. https://github.com/PolymerElements/iron-form/issues/197
  5. https://vlukashov.github.io/polymer-forms/#custom-in-shadow

が、それは日陰DOM、場所で動作するように:ポリマーの開発者は、次のバグトラッカーで、このサポートのための要求を持っています上記のコードはです10スクリプト:

<script> 
     // Force all polyfills on 
     if (window.customElements) window.customElements.forcePolyfill = true; 
     ShadyDOM = { 
      force: true 
     }; 

     function idToChainedClass(poly, _this) { 
      if (ShadyDOM) { 
       const allElements = poly.dom(_this.root).querySelectorAll('*'); 
       let id; 
       for (var x = 0, len = allElements.length; x < len; x++) { 
        if (allElements[x].id) { 
         id = allElements[x].id; 
         allElements[x].removeAttribute('id'); 
         allElements[x].classList.add(id); 
         _this.$[id] = poly.dom(_this.root).querySelector('.' + id); 
        } 
       } 
      } 
     } 
    </script> 
    <script src="bower_components/webcomponentsjs/webcomponents-loader.js"></script> 

そして、あなたは、このようにエラーが表示さどこready()に機能idToChainedClassを使用します。あなたはまた、それを一意にするためにIDをランダム化することができます #input非一意のIDを持つ [DOM]が見つかりXの要素を。紙入力によって提供される技術に従ってください: https://github.com/PolymerElements/paper-input/pull/609/files

関連する問題