Angular and Internet Explorer 11 - Inputs Not Working Correctly Angular and Internet Explorer 11 - Inputs Not Working Correctly angularjs angularjs

Angular and Internet Explorer 11 - Inputs Not Working Correctly


In my case, I had a parent component, and a child input.

The parent component had a poor choice of Angular binding attribute; I called the attribute "disabled". disabled was a bad choice of custom attribute name because that is a standard attribute for many HTML elements.

When I changed the custom attribute name to "custom-disabled", the child inputs started responding.

Internet Explorer interpreted some ancestor disabled attribute to mean all descendants should be disabled; therefore my angular input ng-model, ng-change, ng-blur, ng-focus were not working.

I should've known: when I asked $('input').is(':disabled'), the result was true. I ignored this because the input element itself didn't have the disabled attribute; only an ancestor element did!


I had simillar problem and solution seems to be easy. If you have code similar like this:

<form name="myForm">    <table ng-disabled="formToggle">        ...        <input ng-model="form.name" />        ...    </table></form>

IE10, IE11 won't check fields and won't set their pristine dirty values on form (other browsers works ok). Just remove ng-disabled (from table in this case and in other case from parent element) and it will work.