Показать сообщение отдельно
  #6 (permalink)  
Старый 27.07.2010, 21:40
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

То есть, form.submit происходит, а событие onsubmit не перехватывается.
Правильно. И не будет перехватываться. Потому что оно вообще НЕ ВОЗНИКАЕТ.
Microsoft (MSDN site) claims that the submit method of a form does not invoke the onsubmit event handler.
http://www.w3.org/2001/12/DOM-Level-2-issues#i6

Другими словами, перед тем как делать form.submit() необходимо заранее сделать все необходимые проверки и прописать все переменные формы.

Я так понял, что главная проблема на сайте http://ptzplace.lockerzclub.info/april/black.php - это то, что при нажатии на клавишу Enter форма отправляет данные БЕЗ Ваших проверок.

Лично я отключаю это таким способом:
form.onsubmit = function() {return false} // антиэнтэр

и обычно делаю отправку формы по Ctrl-Enter, о особенно, если на форме присутствует textarea, в котором Enter не срабатывает (как для отправки формы) .
Ответить с цитированием