This repository has been archived by the owner on Apr 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27.5k
IE10 fires input event when a placeholder is defined so that form element is in dirty instead of pristine state #2615
Comments
Seems that this issue made it two times into the issue list. Sorry. I close it as I cannot see any way to delete it. |
I am still getting this issue on IE 10 |
@jkevinburton, unfortunately we can't stop MSIE from emitting input events at weird times :( There is a fix to prevent this from causing ngModel inputs to be dirtied, but it hasn't been merged yet. See #5960 |
Also have this issue in IE 10. |
I have this issue in IE11 |
I also have this issue in IE10 |
In case anyone isn't using 1.3.0-beta.6+, there's a bug in the above $provide.decorator code - it should be |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Input elements in AngularJS can be in pristine state meaning that the input element's value hasn't been modified yet by the user. In this case error messages can be hidden although validation fails because the input field is empty.
AngularJS uses different measures to determine if the value in an input element has changed. It listens to the input event for all browsers supporting this event with the exception of IE9 as this browser does not implement this event correctly.
However, as it turns out IE10 also has implementations faults. If a placeholder is defined on an input element IE10 fires this event when the placeholder is set during DOM loading and when it is removed when the user clicks into the input field so that error messages which depend on the pristine condition are displayed although the user has not yet modified the input's value.
Open the following plunk with IE10 to see this behavior:
http://plnkr.co/LqlkhtIPPEwgP0znR7vz
Click into the e-mail input field and the error message displays although the input's value has not changed yet.
In all other browsers (Chrome, IE9, Firefox) the error message is not displayed.
A workaround is to not use the input event just like for IE9.
The text was updated successfully, but these errors were encountered: