Angular 表单在 Internet Explorer 11 中不起作用

Posted

技术标签:

【中文标题】Angular 表单在 Internet Explorer 11 中不起作用【英文标题】:Angular Form not working in Internet Explorer 11 【发布时间】:2020-03-24 05:03:01 【问题描述】:

我开发了一个 Angular 6 项目。在 Chrome、Mozilla 和 Apple 浏览器中一切正常,但在 Internet Explorer 11 中无法正常工作。我无法保存单击按钮时的数据。

在控制台(网络)中,单击按钮时,它没有调用 API。

我需要在 IE11 的角度 TS 文件中进行任何特殊导入吗?

【问题讨论】:

这能回答你的问题吗? Angular 2 / 4 / 5 not working in IE11 您是否收到错误消息? 尝试在按钮点击事件中设置调试器,函数是否被调用?此外,您能否发布足够的代码或创建stackblitz sample 来重现该问题?我们可能更容易缩小问题的范围。 请添加stackblitz sample 【参考方案1】:

转到您的polyfills.ts 文件并找到在/** IE9, IE10 and IE11 requires all of the following polyfills. */ 部分下注释掉的导入语句:

// import 'classlist.js';  // Run `npm install --save classlist.js`.

取消注释上述导入以使您的应用程序与这些 IE 浏览器一起工作,但不要忘记运行以下命令。

npm install --save classlist.js

您可能还需要取消注释以下导入:

// import 'web-animations-js';  // Run `npm install --save web-animations-js`.

别忘了运行以下命令:

npm install --save web-animations-js

编辑

browserslist 文件中,您可以将not IE 9-11 替换为IE 9-11

另外,在tsconfig.json 文件中,您可以将"target": "es2015"(或其他)替换为"target": "es5"

【讨论】:

感谢您的回答。但它不会工作 好的,你能检查我答案的编辑部分吗? :)【参考方案2】:

您的问题没有包含足够的信息来给出实际答案。不过IE11+form过去给我带来了一些麻烦。

就我而言,我必须将type='submit' 添加到提交按钮,并将type='button' 添加到所有其他按钮。

【讨论】:

【参考方案3】:

在 Angular 网站上,很明显不支持 Internet Explorer 11,您必须使用此 github 页面的自述文件中编写的以下步骤来配置您的 Angular 项目。

https://github.com/browserslist/browserslist

【讨论】:

以上是关于Angular 表单在 Internet Explorer 11 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xamarin 表单共享项目中检查 Internet 连接

angular12表单错误提示不显示边框

表单中的下拉选择在 Internet Explorer 中不起作用

从 Excel 填写 Internet Explorer 表单

怎么消除angular的表单验证

为啥我的表单不能在 Internet Explorer 9 中上传文件?