IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

preventDefault ne fonctionne pas


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut preventDefault ne fonctionne pas
    Bonjour,

    J'ai un formulaire comme ceci:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form method="post" action="">
     
    	<!-- différents champs à remplir -->
     
    	<input type="submit" name="save" value="Enregistrer" formaction="mainFormHandle.php?btn=save" />
    	<input type="submit" name="new" value="Nouveau" formaction="mainFormHandle.php?btn=new" />
    	<input type="submit" name="del" value="Supprimer" formaction="mainFormHandle.php?btn=del" />
    	<input type="submit" name="print" value="Imprimer" formaction="mainFormHandle.php?btn=print" />
    	<input type="submit" name="VCF" value="Carte de visite" formaction="mainFormHandle.php?btn=VCF" />
    </form>
    et le code js en deux versions comme ceci:
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    "use strict";
     
    // Constantes
    const
    	btnDel	= window.document.querySelector('input[name=del]')
    	;
     
    // Version 1
    btnDel.addEventListener('click', function(e) {
    	if (confirm("Vous êtes sur le point d'effacer cet hôtel,\r\nconfirmez vous votre choix?")) {
    		btnDel.form.submit();
    	}
    	else {
    		btnDel.form.preventDefault();
    	}
    });
     
    // Version 2: idem sauf remplacement de btnDel.form par btnDel.formaction

    Problème: Dans les deux versions, l'action s'exécute.

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    ligne 14 à remplacer par:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    e.preventDefault();

    Tu empêches l'action par défaut prévue "pour l'événement", pas "pour le formulaire"!

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/02/2015, 12h36
  2. Réponses: 2
    Dernier message: 13/11/2014, 12h08
  3. event.preventDefault(); ne fonctionne pas !
    Par Shuret dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/12/2010, 09h29
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo