2016-04-25 21 views
2

エラー確認メッセージのカスタマイズにoninvalid eventを使用しています。どうやら私のテストで確認したインターネットエクスプローラのsupportedではありません。私はIE 11をサポートする必要があります。どのような回避策がありますか?oninvalidイベントとInternet Explorer?

編集:
多分私が

"using strict"; 

(function setCustomValidation(doc) { 
    var elems = doc.querySelectorAll("[required]"); 


    _.forEach(elems, 
     function (item) { 
      item.oninvalid = function(e) { 
       e.target.setCustomValidity(""); 
       if (!e.target.validity.valid) { 
        e.target.setCustomValidity(e.target.getAttribute("data-errormessage")); 
       } 
      }; 
     }); 
})(document); 

をやっているまさにのコード例を示した場合、私は1がオンにカスタムエラーメッセージを入れることができます共有ユーティリティを作ってるんだ容易になります必要な要素。だからあなたのブラウザにデフォルトのエラーメッセージが残っていない。 oninput, onchage, & onblurがこれに対応するかどうかはわかりません。私が間違っているなら私を訂正してください。ここで

が、私は同じ問題を持っていたjsbin

+0

oninput onchange、およびonblurを使用できます。ハンドラとしてJSからoninvalidをバインドした場合、 'onchange =" if(!this.checkValidity())this.oninvalid(event) "というようにすることができます。 – dandavis

+0

何を使っていますか? –

答えて

0

で、私のコードは、私が

item.addEventListener('invalid', (e) => { ... }); 

item.oninvalid = (e) => { ... } 

を変更IE11でもない に無効なイベントを発射波平、それが働きました。あなた(またはこれに遭遇する他の誰か)がまだ助けてくれることを願っています。