Я пытаюсь решить проблему, предложенную учебником jQuery. Это читается так
«Данные отправляются, даже если не было сделано никаких записей, чтобы исправить это, вы должны остановить действие кнопки отправки по умолчанию. Для этого закодируйте метод preventDefault объекта события в операторе if в конце файла, как на рис. 10-6
примечание* вот как выглядит код в 10-6, который у меня не работает, когда я помечаю его в конце своего кода, как предлагает книга.
if (isValid == false) { event.preventDefault(); }
Помните, что имя, которое вы используете для объекта события, должно совпадать с именем параметра, используемого для обработчика события отправки.
примечание* обработчик события отправки выглядит следующим образом
$("#email_form").submit(
function() {
var isValid = true;
// the script proceeds to validate each text field accordingly bla bla bla
Теперь проверьте еще раз с пустыми полями. Это должно отображать «Это поле обязательно для заполнения» справа от каждого поля, кроме поля почтового индекса».
Моя проблема в том, что мой preventDefault не работает, и он все равно будет отправляться, независимо от того, что я пытаюсь.
Интересное примечание из текста, объясняющего рисунок 10-6, которое может помочь, но которое я не совсем понимаю, заключается в следующем.
«Здесь вы видите окончательный оператор if, который является истинным, если переменная isValid имеет значение false, что означает, что одно или несколько полей недействительны. В этом случае выполняется метод preventDefault объекта события. Этот объект передается функции для обработчик события отправки в качестве параметра, который хранится в переменной события первой строкой в этом обработчике.Если вы не используете метод preventDefault, когда одно или несколько полей отправляются на сервер, форма будет отправлена на сервер, поскольку это его действие по умолчанию».
Мы будем очень признательны за любое понимание.
event
в функцию, чтобы использоватьevent.preventDefault()
.function(event) { event.preventDefault() ...
- person Sparky   schedule 27.02.2013.submit(function(event){
(это то, о чем говорит автор,event
нужно передать в функцию обработчика события) - person Brad Christie   schedule 27.02.2013