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

jQuery Discussion :

return false ne bloque pas le lien


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Par défaut return false ne bloque pas le lien
    Bonjour les amis,

    j'ai fais un programmes qui me permet d'éviter de supprimer des éléments tant qu'il exister d'autres éléments qui leur sont associe.

    le problème c'est que dans l'élément est toujours supprimé alors que j'ai fait des return false après l'alerte

    voici le code

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
     <td><a class="supprim" id="15" href="updateProgram.php?action=delete&amp;id=15"><img src="croix.jpg" alt="delete" title="Supprimer ce programme" /></a></td>


    et voici le js
    Code : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    function testerSuppr(){
       $(document).ready(function(){
          $('.supprim').click(function(){
             var val=$(this).attr('id');
     
             var xhr = getXhr();
            xhr.onreadystatechange = function(){
            if(xhr.readyState == 4 && xhr.status == 200){
    	reponse = xhr.responseText;
    	if(reponse=="true"){
    	alert("les elements associes à des programmes ne peuvent pas etres supprimees");
    	return false;
    	}
    	else{
    	    if (!(confirm('voulez vous vraiment supprimer cet element ?'))){
    	        return false;
    	    }
                }
           }
       }
     //ENVOI DE LA VALEUR AU SERVEUR
     
      xhr.open("POST","ajaxTestOperAssocieDomaine.php",true);
      xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      xhr.send("idDomaine="+val);
     
      });	
    });
    }
    testerSuppr();
    Merci de votre aide

  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 : 54
    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
    Bon... je ne suis ni politicien ni diplomate, donc je vais te dire la vérité même si elle est désagréable...
    Ton code est une bouillie infâme qui n'a ni queue ni tête.
    Tu as manifestement collé des portions de code sans comprendre ce que tu fais.
    Tu mélanges du code jQuery et du JavaScript natif de façon incohérente.
    Tu ne comprends manifestement pas le mécanisme des échanges client/serveur.

    Bref, en l'état, il n'y a que deux alternatives : te faire ton travail, mais ça, ce n'est pas le but du forum ou te laisser te noyer dans tes turpitudes...

    Lorsque l'on veut faire des choses un peu avancées en JavaScript (donc aller un peu plus loin qu'un alert('Coucou') déclenché sur un attribut onclick d'une balise, la moindre des choses est d'apprendre les bases. Commence donc par cette étape essentielle si tu ne veux pas que tes développements soient une suite d'échecs successifs.
    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
    Juillet 2012
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Par défaut
    Merci beaucoup Bovino pour la réponse .

    Ton code est une bouillie infâme qui n'a ni queue ni tête.
    je n'ai pas posté tout mon code, je n'ai posté que la partie qui me pause problème.

    Tu as manifestement collé des portions de code sans comprendre ce que tu fais.
    là vraiment je ne suis pas du tout d'accord avec toi car ce code je l'ai pondu tout seul.
    Peut être ce n'est pas très propre vu que je débute avec jQuery j'ai pensé que vu que c'est du JavaScript les mélanger ne pause aucun problème et d'ailleurs cette cette question je l'avais déjà posé dans un forum ou les gens m'ont fait comprendre que c'était bien possible, donc pardonnez mon ignorance si ça ne se fait pas, je ne le savais pas ça

    Je ne comprend vraiment pas ce que vous entendez par ne pas comprendre les mécanismes d'échange client/serveur car j'ai bien lu le tuto sur Ajax/JavaScript et l'échange des données avec Ajax sur un autre site a moins que je n'ai rien pigé de ce que j'ai lu

    Bref, en l'état, il n'y a que deux alternatives : te faire ton travail, mais ça, ce n'est pas le but du forum ou te laisser te noyer dans tes turpitudes...
    J'ai suivi le mécanisme expliqués dans les tutots et j'ai fais mon propre code, j'accepte que je ne suis pas un expert et c'est pour ça que si je ne comprend pas quelque choses je viens auprès des amis qui en sache plus que moi d'où mon post .Je ne demande jamais et jamais à ce que quelqu'un me fasse mon travail je voudrais juste avoir des remarque et suggestion sur ce qui ne vas pas.


    si vous pouvez me dire en quoi mon code
    est une bouillie infâme
    je suis vraiment preneur car les bonnes pratiques s'acquiert avec le temps.

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    l'échange des données avec Ajax sur un autre site
    Tout s'explique...

    http://ajax.developpez.com/cours/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Par défaut
    Mélanger JQuery et pure javascript n'est pas vraiment un souci, mais c'est plutôt sur la manière dont tu le fais.

    Tu utilises JQuery pour quoi dans ton code? Ajouter l’événement click et récupérer l'attribut id. C'est tout. De plus, utiliser le $(document).ready dans une fonction javascript pour ensuite appeler cette fonction n'est pas vraiment une bonne pratique.

    Je te conseille plutôt de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $(document).ready(function(){
          $('.supprim').click(function(){ 
          //Ton code
    });
     
    });

    De plus vu que tu ajoutes une telle bibliothèque, je te suggère d'utiliser les fonctionnalités qu'elle propose; c'est à dire utiliser la fonction .ajax() :

    http://api.jquery.com/jQuery.ajax/

    En suivant les examples de la doc, tu devrais réussir à sortir un code plus élégant, et si tu as un souci, tu peux revenir le partager ici

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 217
    Par défaut
    Merci beaucoup getz85 pour la réponse et les remarques,

    je vais suivre tes conseils et je reviendrais si j'ai un soucis.
    Merci encore une fois.

  7. #7
    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 : 54
    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
    Ensuite, tu dis que tu fais un return false... certes, mais ce return est renvoyé à quoi selon toi ?
    A une fonction qui a terminé depuis longtemps son exécution et qui ne peut donc plus recevoir aucune donnée...
    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

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

Discussions similaires

  1. onclick return false ne marche pas sur Chrome !
    Par gstratege dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/09/2014, 21h49
  2. IE8 : return false ne marche pas
    Par teraDev dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/10/2010, 18h56
  3. Return False ne fonctionne pas
    Par epoc.01 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/03/2010, 06h40
  4. onclick="return false" ne fonctionne pas
    Par pcdj dans le forum ASP.NET
    Réponses: 16
    Dernier message: 13/09/2007, 15h31
  5. Réponses: 3
    Dernier message: 02/09/2007, 11h53

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