À l'aide de preventDefault sur un bouton soumettre

Je suis en train d'essayer de résoudre un problème proposé par un jQuery manuel. Il se lit comme suit

"Les données sont présentées même si aucune inscription n'a été faite, pour y remédier, vous devez arrêter l'action par défaut du bouton "soumettre". Pour ce faire, le code de la méthode preventDefault de l'objet d'événement dans l'instruction if, à la fin du fichier, comme dans la figure 10-6

remarque* voici à quoi ressemble le code dans 10-6 qui ne fonctionne pas pour moi, quand je tag à la fin de mon code comme le livre suggère.

if (isValid == false) { event.preventDefault(); }

Rappelez-vous que le nom que vous utilisez pour l'événement, l'objet doit être le même que le nom du paramètre qui est utilisé pour le soumettre gestionnaire d'événement.

remarque* les soumettre gestionnaire d'événement ressemble à ceci

    $("#email_form").submit(
    function() {
        var isValid = true;

                      //the script proceeds to validate each text field accordingly                    bla bla bla

Maintenant, tester à nouveau avec des champs vides. Ceci devrait afficher "Ce champ est obligatoire" à droite de chaque champ, à l'exception du champ du code postal."

Mon problème est que mon preventDefault n'est pas de travail et il va encore se soumettre n'importe ce que j'essaie.

Une note intéressante à partir du texte qui explique la figure 10-6 qui peuvent aider, mais que je n'arrive pas à comprendre, c'est comme suit.

"Ici, vous voyez une finale si l'énoncé est vrai si le isValid variable est false, ce qui signifie qu'un ou plusieurs champs ne sont pas valides. Dans ce cas, la méthode preventDefault de l'objet d'événement est exécuté. Cet objet est passé à la fonction pour les soumettre gestionnaire d'événement en tant que paramètre est stocké dans le cas de la variable par la première ligne de ce gestionnaire. Si vous n'utilisez pas la méthode preventDefault lorsqu'un ou plusieurs champs sont envoyées au serveur, le formulaire sera soumis au serveur puisque c'est son action par défaut."

Toute réflexion serait grandement apprécié.

Vous devez passer event dans la fonction, dans le but d'utiliser event.preventDefault(). function(event) { event.preventDefault() ...
.submit(function(event){ (c'est ce que l'auteur fait référence, event doit être passé à la fonction de gestionnaire d'événement)

OriginalL'auteur user2113538 | 2013-02-27