Событие JavaScript OnBlur предотвращает отправку HTML-формы
-
09-09-2019 - |
Вопрос
Рассмотрим следующую форму:
<form action="/a" method="post">
<input name="x" type="text" onblur="myonblur(e)" />
<input name="y" type="text" />
<input name="submit" type="submit" value="Submit" />
</form>
Когда фокус находится на элементе с именем «x» и пользователь нажимает кнопку отправки, срабатывает событие onblur, но форма НЕ отправляется.Есть ли способ заставить кнопку отправки работать должным образом, если в моей форме есть события onblur?
Решение
Рассмотрите возможность оптимизации вашего onBlur()
метод, поэтому его запуск занимает меньше времени.Если ваша форма не может быть отправлена, это может быть связано с тем, что onBlur()
слишком длинный и не позволяет браузеру делать что-либо еще.
Вы также можете использовать onChange()
метод вместо onBlur()
.Это может сработать лучше для вас.
Другие советы
Попробуйте добавить
return true;
после вызова функции onBlur.Проблема, с которой вы столкнулись, может быть связана с предотвращением возврата обработчиков событий «return false».