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

HTML Discussion :

[HTML] inhiber un lien href avec un onClick


Sujet :

HTML

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut [HTML] inhiber un lien href avec un onClick
    Bonjour, j'ai un petit soucis.
    en fait j'ai des liens un peu comme dans toutes page internet
    Forum des développeurs > Webmasters - Développement Web > HTML / DHTML / XHTML / CSS
    et en fait je voudrais que dans certains cas le lien ne soit pas autorisé mais comme meme 'exécuté'
    je m'explique, imaginons que vous écriver un message, vous cliquez sur le lien, je veux un information (confirm) me demandant si je veux continuer et donc perdre les information de mon message non sauvegarder. si on continu on fait le lien, sinon on reste sur la meme page.
    je ne sais pas si j'ai été clair,
    pour l'instant j'arrive a récupérer l'evenement onClick et lui afficher le message mais je n'arrive pas a empecher le lien, c'est a dire que je vais tout de meme sur la page demandé.
    J'ai un fait un fonction javascript, sur la méthode onclick, suivant le retour de confirm on va sur le lien et sinon j'essai de lui faire faire un submit, mais rien a faire, on ne repasse plus dans ma page, on est arrivé sur celle du lien
    si quelqu'un a une idée.
    ce qui est important aussi c'est que je veux que mon texte des liens est exactement l'air normaux, comme des textes normaux...

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Pour le premier problème j'ai rien compris.
    Pour le dernier (que tu veux que se soit un texte normal) je me suis fait une fonction en JS :
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!--
    //fonction qui permet de ne pas pouvoir cliquer sur un lien pointant sur la page actuelle
    function supprime_lien(obj)
    {
    	//on récupère la sous-chaine entre le début de l'URL et le dernier "/" et on la compare à l'adresse où on souahite aller
    	//exemple : http://www.mpl.ird.fr/IS/contacts/?lang=fr# retournera http://www.mpl.ird.fr/IS/contacts/#
    	if (obj.href == document.location.href.substring (0,document.location.href.lastIndexOf('/')+1))
    	{
    		obj.href="#";//l'objet pointe sur rien : le lien est cassé
    		obj.style.cursor='default';//on change le curseur en flèche (au lieu d'avoir une main)
    	}
    }
    //-->
    il suffit que tu appelles cette fonction sur chaque lien en plaçant comme paramètre this.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    lol merci pour ta fonction...
    mais c'est vrai que tu as rien compris... mais ce n'est pas de ta faute, je m'exprime mal...
    en fait j'ai mes liens, et je veux qu'il reste des liens, c'est a dire garder la couleur, le curseur en forme de main... mais ce que je veux, c'est que quand l'utilisateur le sélectionne (le lien), une fenetre de dialogue s'affiche, pour l'instant j'y arrive a l'aide de la methode onClick et d'un window.confirm();
    mais ce que je n'arrive pas a faire, c'est que si le user appui sur annuler, j'empeche le lien d'agir, c'est a dire que je reste sur la meme page !!! mais mes liens doivent toujours exister...
    je ne sais pas si j'ai été plus clair...

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ton problème vient du fait qu'il y a une différence, me semble-t-il, entre IE et Firefox (comme toujours) dans l'ordre des actions générées sur un lien.

    L'un des deux navigateurs gère le href en premier et l'autre gère le onclick en premier.

    Dans le premier cas donc, le lien est déjà envoyé au moment où ta boîte de dialogue s'ouvre.

    Je pense que tu peux contourner de cette manière :
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function envoiLien(){
       if(confirm('blabla'){
          location.href = "tonlien";
       }
    }

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="envoiLien();">Ton texte</a>

    Je pense que ce code peut être largement amélioré.

  5. #5
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    et bien tu crées un bouton submit que tu appelles Annuler dont l'attribut action a pour valeur la page courante.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    oui merci de ta reponse, c'est que j'était en train de tester justement.
    ce qui m'a donné l'idée c'est le code de trotters213. En effet je n'avais pas penser a changer de lien, suivant ma reponse pour rester sur le meme page !!!
    merci a tous les deux !!!

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    trotters213 : merci aussi pour ta 2ieme suggestion, et en fait j'ai deja un bouton [Retour] qui gérait cette partie, mais je voulais vraiment que toutes les sorties soit vérifié, et comme il y avait les liens je voulais les tester avant de sortir de ma page afin de ne pas sortir sans sauvegarder

  8. #8
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Salut,

    Ceci fonctionne je crois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://www.google.fr" onclick="if(confirm('Etes vous sûr ?')) return true; else return false;">Lien vers Google</a>

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    effectivement cela fonctionne !!
    merci

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    lol.. en fait ca marche dans un cas tout simple comme le tien (et celui que je viens de tester)
    mais quand j'essai de l'implémenter dans mon truc ca marche pas....
    mais vous cassez pas la tête...
    c bbon !

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    si je me suis trompé, je l'avais mal implémenter
    cela marche nikel !:!!!

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

Discussions similaires

  1. modifier liens href avec php
    Par Feno59 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 16/12/2014, 12h19
  2. lien href avec caractère spécial "<" et ">"
    Par pcolin dans le forum Débuter
    Réponses: 4
    Dernier message: 07/03/2013, 13h54
  3. Lien href avec flex
    Par adilou1981 dans le forum Flex
    Réponses: 1
    Dernier message: 11/08/2009, 11h02
  4. lien HTML HREF avec parametres
    Par dehbi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/03/2006, 03h56
  5. [HTML][PHP] Les liens href...
    Par hackrobat dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/03/2005, 11h28

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