IE 11 v11 不遵守单机输入的 "disabled" 属性

IE 11 v11 does not respect "disabled" property on inputs on a single machine

我支持使用 Jquery v3.3.1 的 asp.net 网络应用程序,它使用 JavaScript 禁用各种类型的输入 "text" 或 "date" 使用代码像下面这样:

$('#id').prop('disabled',true);

当 javascript 的这个位应用于 "text" 或 "date" 类型的输入时,其外观变为灰色并且用户无法编辑输入的内容。

问题是,当在我们大楼的 一台 机器上的 IE 11 中查看此页面时, "disabled" 属性 类型的输入 "text" 或 "date" 被部分忽略。数百台机器访问此网页,但已知只有一台机器存在此问题。

"partially ignored" 我的意思是,当输入的 'disabled' 属性 设置为真时,如上面的代码片段所示,输入显示为禁用,但用户可以将值键入禁用的输入(输入上的任何掩码都将被忽略;例如,日期掩码或将输入限制为整数的掩码)。

好的一面是,这些输入到禁用输入中的幻像值也会被忽略;例如,如果输入的类型为 "date" 并且用户输入单词 "cat",则不会发生客户端验证错误,并且当回传表单时输入的值为 null,这当然是理想的状态。

总而言之,这完全是一个外观问题。从功能上讲,该页面在问题机器上的行为与在其他任何地方的行为相同。

我最初认为这个问题是由于问题机器具有我们建筑物中其他机器没有的 IE 版本 (v11.0.60)。但是在将问题机器和其他一些机器升级到 IE 11.0.70 之后,问题仍然存在于问题机器上。具有相同 IE 11.0.70 的其他机器可以正常运行。

我搜索了无数的 IE 设置,但在问题机器上找不到任何不同之处。

还有其他人遇到这个问题吗?非常感谢任何关于如何调试此类问题的提示。

IE 11 并不总是遵守规则。如果将其切换为:

$("#id").prop("disabled","disabled");

它将在 IE 中工作。

如果您只想 运行 IE 11 或更低版本的代码,这里有一种方法可以从另一个很好的地方做到这一点 post。