Событие JavaScript OnBlur предотвращает отправку HTML-формы - PullRequest
5 голосов
/ 13 апреля 2009

Рассмотрим следующую форму:

<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?

Ответы [ 2 ]

3 голосов
/ 13 апреля 2009

Подумайте об оптимизации вашего метода onBlur(), чтобы он занимал меньше времени. Если ваша форма не может быть отправлена, это может быть связано с тем, что onBlur() слишком длинный и не позволяет браузеру делать что-либо еще.

Вы также можете использовать метод onChange() вместо onBlur(). Это может работать лучше для вас.

0 голосов
/ 13 апреля 2009

Попробуйте добавить

return true;

после вызова вашей функции onBlur. Проблема, с которой вы сталкиваетесь, может быть связана с предотвращением возврата ложных обработчиков событий.

...