我的组件面临一个无法使用 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;
},
最佳答案
preventDefault()
函数在 Internet Explorer 11 中应该可以正常工作,但是您的脚本中可能会遇到另一个问题,该问题会触发导致 preventDefault()
不被调用。
我建议使用 F12 检查控制台,看看是否有一些 JS 警告。
关于javascript - React 不会阻止 IE 11 中的表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38528824/