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 :

Stopper un traitement JavaScript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Par défaut Stopper un traitement JavaScript
    Bonjour,

    J'aimerai savoir si il est possible d'arrêter le processus de traitement de Javascript ?

    Je m'explique : j'ai une ligne de tableau sur lequel j'ai un onclick afin d'afficher/cacher des "sous-lignes", jusque là pas de soucis ça marche très bien.
    Maintenant lorsque j'affiche les sous-lignes d'une ligne, j'ai dans cette ligne un bouton de validation qui apparait...

    Hors lorsque je clique sur ce bouton, il va faire le traitement souhaité, puis il va cacher les sous-lignes, ce que je ne veux pas !

    Ma problématique en résumé : Est-il possible soit, de dire a JavaScript qu'après le traitement de mon bouton validation d'arrêter son processus...
    Soit autrement, de dire que lorsque je clique sur la ligne je veux que mes sous-lignes s'affichent SAUF lorsque je clique sur le bouton de validation...

    J'espère que j'ai étais assez clair... Merci d'avance pour vos retours

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il faut utiliser les méthodes / propriétés stopPropagation() / cancelBubble de l'événement lié à ton bouton pour empêcher l'événement de se propager.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    par curiosité, je veux bien voir le code de ta ligne et de ton bouton

    merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Par défaut
    Voici le code de ma ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr id="ligne${objectif[1]}" class="ligne<%= style %>" style="height: 35px; background-color: pink;" onmouseover="this.style.cursor='pointer'" onclick="displayMagasins('${objectif[1]}')">
    Et celui de mon bouton de validation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" name="btnValidObjectif" value="Validation" class="btnValidObjectif" onclick="javascript:validationObjectifs(false,'${objectif[1]}');">
    Une idée ?
    Sinon pour cancelBubble/stopPagination() je cherche mais je trouve et n'arrive a rien de probant... :s

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="javascript:validationObjectifs(false,'${objectif[1]}');"


    et si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="georges_clooney:makeCoffe('fast');"
    ça marchera ?

    Bref, tout ça pour dire que javascript: ne sert à rien dans un attribut d'événement qui attend du code JavaScript en paramètre...

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ElementHTML.onclick = function(e){
        e ? e.stopPropagation() : window.event.cancelBubble = true;
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    j'ai pas testé (et un peu la flemme d'écrire un code de test), mais est-ce que renvoyer false dans le onclick du bouton ne permet pas de stopper la propagation?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <button ... onclick = "validationObjectifs(false,'${objectif[1]}');">
     
    function validationObjectifs(....) {
        ...
        return false;
    }

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="javascript:validationObjectifs(false,'${objectif[1]}');"


    et si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="georges_clooney:makeCoffe('fast');"
    ça marchera ?

    Bref, tout ça pour dire que javascript: ne sert à rien dans un attribut d'événement qui attend du code JavaScript en paramètre...
    Certainement l'habitude des appels aux fonctions js dans les href...

    Sinon j'ai résolu mon problème, notamment à l'aide de ce topic : http://www.developpez.net/forums/d10...ation-firefox/

    J'ai ajouté le paramètre event dans l'appel de ma fonction, et dans celle-ci, a la fin du traitement, j'appelle une méthode stopEvent(e)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function stopEvent(e) {
    	if(e.stopPropagation){
    		e.stopPropagation();
    		e.preventDefault();
    	}
     
    	if(window.event){
    		window.event.cancelBubble = true;
    		window.event.returnValue  = false;
    		return;
    	}
    }
    Et ça marche très bien ! Merci pour votre aide.

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

Discussions similaires

  1. Gestion des erreurs pour stopper le traitement
    Par DEMMAR dans le forum SAS Base
    Réponses: 3
    Dernier message: 20/04/2011, 15h21
  2. Affichage d'une image pendant un traitement javascript
    Par aurelien.tournier dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/12/2010, 10h09
  3. Les traitement Javascript ne fonctionnent plus
    Par paradeofphp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/01/2008, 13h48
  4. Besoin d'une idée pour stopper un traitement
    Par Yannick_from_31 dans le forum Général Java
    Réponses: 5
    Dernier message: 01/06/2007, 12h27
  5. traitement javascript avant le <logic:forward>
    Par questionneuse dans le forum Struts 1
    Réponses: 13
    Dernier message: 02/06/2006, 10h41

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