5

Оказывается одна проблема с моим компонентом, который я не могу решить, используя React 15. Все работает так, как ожидалось, за исключением IE 11.React не предотвращает отправку формы в 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; 
}, 
+0

Попробуйте заменить 'event.preventDefault()' на 'event.preventDefault? event.preventDefault(): (event.returnValue = false); '. Я знаю, что это для> IE8, но IE иногда удивляет. –

+0

Пробовал это, но не повезло. Спасибо, в любом случае. – Gjoshevski

+0

@Gjoshevski вы в конечном итоге нашли исправление для этого? –

ответ

0

Функция preventDefault() должна работать нормально в Internet Explorer 11, однако вы можете столкнуться другая проблема в вашем скрипте, которая вызывает ошибку/предупреждение, вызывающее отказ preventDefault().

Я рекомендую проверить консоль с помощью F12 и посмотреть, есть ли какие-либо предупреждения JS.

Смежные вопросы