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.