Да, это ошибка в WebKit, хотя, похоже, она исправлена в текущих версиях Chrome для меня.
Похоже, когда отправка формы отменяется из приглашения до загрузки, все формы на странице перестают передаваться (событие submit
по-прежнему срабатывает, но отправка не перемещается), пока не будет изменено любое поле формы на странице. (Это не имеет ничего общего с вашей собственной проверкой изменения формы. Сам браузер блокирует навигацию до тех пор, пока не заметит изменения. Может быть, какая-то хитрость предотвращения множественной отправки формы пошла не так, или что-то в этом роде?)
Обычно вы этого не замечаете, так как обычно вы устанавливаете другой обработчик на form.onsubmit
, который закорачивает onbeforeunload
(поскольку, как правило, если пользователь щелкает, чтобы отправить форму, он знает они что-то изменили и хотят сохранить изменения).
(Между прочим, избегайте использования myForm
в качестве глобальной переменной для ссылки на элемент с id="myForm
. Это хак IE, который некоторые другие браузеры теперь реализовали, но только в режиме Quirks, и вы don ' t хотите быть в режиме Quirks. Добавьте объявление <!DOCTYPE>
и используйте document.getElementById('myForm')
.)