【发布时间】:2016-11-26 11:56:50
【问题描述】:
我的组件面临一个使用 React 15 无法解决的问题。一切都按预期工作,除了 IE 11。
基本上看起来 IE 11 忽略了 event.preventDefault() 函数(以及下面代码中的所有注释函数,都尝试过)并提交数据。页面重新加载,查询参数在 url 中。我想防止页面重新加载,只执行handleSubmit函数中的逻辑。
渲染函数中的表单:
<form onSubmit={this.handleSubmit}>
<input ref="email" type="email" name="username" required></input>
<input ref="pass" type="password" name="pass"required></input>
<input type="submit" name="login" value="Login" />
</form>
这是 hanleSubmit 函数:
handleSubmit: function (event) {
event.preventDefault();
//event.returnValue = false;
//event.stopPropagation();
//event.nativeEvent.preventDefault();
var email = this.refs.email.value;
var pass = this.refs.pass.value;
//return false;
},
【问题讨论】:
-
尝试将
event.preventDefault()替换为event.preventDefault ? event.preventDefault() : (event.returnValue = false);。我知道这适用于 > IE8,但 IE 有时会让人感到意外。 -
试过这个但没有运气。还是谢谢。
-
@Gjoshevski 你最终找到解决办法了吗?
-
我无法让表单提交在 IE 11 中工作。我求助于 - 删除 onSubmit,将输入更改为 type=button,并向调用表单内容的按钮添加一个 onClick是的。
-
@Gjoshevski,你能用 F12 检查控制台,看看是否有一些 JS 错误/警告?
标签: javascript internet-explorer reactjs internet-explorer-11 frontend