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

时间:2016-07-22 14:20:53

标签: javascript internet-explorer reactjs internet-explorer-11 frontend

面对我使用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;
},

1 个答案:

答案 0 :(得分:0)

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

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