我在IE中使用ng-model(11和所有以前的版本)的输入存在严重问题,但一切都在所有其他浏览器中正常工作。这个问题上周首次出现。我们没有对我们的应用程序的这一部分进行任何更新,并且在上周之前没有听到用户有此问题的报告。
我们正在运行Angular 1.4.3。
基本上,像这样的输入:
<input data-ng-model="answer.value"></input>
未正确更新模型。看起来像onChange或onFocus事件的问题 - 输入永远不会丢失他们的ng-pristine和ng -notouched类。它们正在从模型中正确显示初始值,但用户所做的任何更新都无法保存。我们已经尝试向我们的头部添加<meta http-equiv="X-UA-Compatible" content="IE=11" />
标签,但无济于事。从输入中删除所有验证没有任何区别。没有控制台错误或警报。
答案 0 :(得分:2)
就我而言,我有一个父组件和一个子输入。
父组件的Angular绑定属性选择不佳;我将属性称为“ disabled
”。 disabled
是 custom 属性名称的错误选择,因为它是许多HTML元素的 standard 属性。
当我将自定义属性名称更改为“ custom-disabled
”时,子输入开始响应。
Internet Explorer解释了一些祖先disabled
属性,表示应禁用所有后代。因此我的角度输入ng-model
,ng-change
,ng-blur
,ng-focus
无法正常工作。
我应该知道:当我问$('input').is(':disabled')
时,结果是true
。我忽略了这一点,因为input
元素本身没有disabled
属性;只有一个祖先元素!
答案 1 :(得分:1)
我有类似问题,解决方案似乎很容易。如果你有类似的代码:
<form name="myForm">
<table ng-disabled="formToggle">
...
<input ng-model="form.name" />
...
</table>
</form>
IE10,IE11不会检查字段,也不会在表单上设置原始的脏值(其他浏览器工作正常)。只需删除ng-disabled(在本例中为table,在其他情况下为parent元素),它将起作用。