React不会阻止IE 11中的表单提交

Gjo*_*ski 7 javascript internet-explorer frontend internet-explorer-11 reactjs

面对我的组件的一个问题,我无法使用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>
Run Code Online (Sandbox Code Playgroud)

这是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;
},
Run Code Online (Sandbox Code Playgroud)

Rau*_*net 0

该函数在Internet Explorer 11preventDefault()中应该可以正常工作,但是您可能会在脚本中遇到另一个问题,该问题会触发导致无法调用的错误/警告。preventDefault()

我建议使用 F12 检查控制台,看看是否有一些 JS 警告。