我的组件在使用React 15时遇到了一个问题。在IE 11中,除预期之外的一切都正常工作。
基本上,看起来IE 11忽略了event.preventDefault()函数(以及下面代码中所有的注释函数,已经尝试过所有函数),并提交了数据。页面重新加载,查询参数在URL中。我希望防止页面重新加载,并执行handleSubmit函数中的逻辑。
在render函数中的表单:
<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有时会出人意料。 - Nick Bull