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 :

Attribut rel d'un bouton ?


Sujet :

jQuery

  1. #1
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 863
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 863
    Par défaut Attribut rel d'un bouton ?
    Bonjour tout le monde,

    Je reprends contact avec jquery, et je m'aperçois que quelques projets que je découvre nécessitent encore de gamberger ferme sur les conditions qui permettent ou pas à jquery de se charger proprement.

    Mais pour le moment, je suis sur un projet intégré à ASP.Net Microsoft, et là en revanche c'est impeccable, ça marche du premier coup : créer un projet ASP.Net, copier/coller la page et son code vers ce projet, retirer une référence pas utile pour le test, lancer l'exécution. Joli !

    Du coup, ça me permet de regarder dans le code, et d'essayer de comprendre.

    Une boîte de dialogue Oui/Non est ouverte par ce bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <asp:Button ID="btnDelete" runat="server" Text="Delete" OnClick="DeleteRecord" UseSubmitBehavior="false" />
    et dans la boîte de dialogue, plus précisément dans le code du bouton Oui, je vois ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                        $("[id*=btnDelete]").attr("rel", "delete");
    Si je lis bien, ça signifie que le bouton Oui de la boîte de dialogue retire l'attribut rel au bouton btnDelete ?

    Mais btnDelete, j'ai mis son code au-dessus et je mets ci-dessous le code de son rendu dans la page HTML, je n'y vois pas d'attribut rel.

    Est-ce un attribut implicite de tous les contrôles ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <input type="button" name="btnDelete" value="Delete" onclick="javascript:__doPostBack('btnDelete','')" id="btnDelete" />

  2. #2
    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
    Si je lis bien, ça signifie que le bouton Oui de la boîte de dialogue retire l'attribut rel au bouton btnDelete ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("[id*=btnDelete]").attr("rel", "delete");
    Je dirais plutot exactement le contraire ...
    il attribue l'attribut rel
    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 !

  3. #3
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 863
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 863
    Par défaut
    Ah non pardon, un peu plus haut je vois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                $("[id*=btnDelete]").removeAttr("onclick");
    et je réalise que c'est comme ça qu'on supprime un attribut.

    Donc le bouton Oui crée un attribut rel au bouton btnDelete, et lui donne la valeur "delete".

    Mais je peine un peu à comprendre à quoi il sert.

    Peut-être est-ce plus spécifiquement une question ASP.Net ?

  4. #4
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 863
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 863
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("[id*=btnDelete]").attr("rel", "delete");
    Je dirais plutot exactement le contraire ...
    il attribue l'attribut rel
    Oui, j'ai compris après, merci.

  5. #5
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Citation Envoyé par Gluups Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                        $("[id*=btnDelete]").attr("rel", "delete");
    Si je lis bien, ça signifie que le bouton Oui de la boîte de dialogue retire l'attribut rel au bouton btnDelete ?
    Non, au contraire : il ajoute un attribut rel au bouton et lui donne la valeur "delete". Note que cet attribut n'a pas de signification précise sur un bouton, en tout cas il n'a pas (au moment où j'écris) d'influence sur le rendu HTML. Et au niveau des standards, normalement les boutons (<button> ou <input type="button">) n'ont pas d'attribut rel (mais les liens <a> peuvent en avoir).

    As-tu regardé le code HTML généré ? Quel est l'élément qui tient lieu de bouton ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  6. #6
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 863
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 863
    Par défaut
    Ah oui la réponse est un peu plus bas dans la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                $("[id*=btnDelete]").click(function () {
                    if ($(this).attr("rel") != "delete") {
                        $('#dialog').dialog('open');
                        return false;
                    } else {
                        __doPostBack(this.name, '');
                    }
                });
    ça ressemble à ce qu'on ait fait l'économie d'un bouton, et on change son rôle pendant que la boîte de dialogue est ouverte, et l'attribut rel sert de point de repère pour ça.

    Il se peut que si j'avais des nuits plus longues je n'aurais pas posé la question.

    Merci pour les réponses en tout cas.

  7. #7
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 863
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 863
    Par défaut
    Citation Envoyé par Watilin Voir le message
    Non, au contraire : il ajoute un attribut rel au bouton et lui donne la valeur "delete".
    Oui, cette fois nous sommes trois à dire ça

    Note que cet attribut n'a pas de signification précise sur un bouton, en tout cas il n'a pas (au moment où j'écris) d'influence sur le rendu HTML. Et au niveau des standards, normalement les boutons (<button> ou <input type="button">) n'ont pas d'attribut rel (mais les liens <a> peuvent en avoir).

    As-tu regardé le code HTML généré ? Quel est l'élément qui tient lieu de bouton ?
    D'après ce que je vois il sert déjà de point de repère pour une bascule entre deux rôles du bouton selon que la demande de suppression soit confirmée ou non.

    Ensuite le choix de la valeur de l'attribut n'est pas nécessairement anodin, en le passant en argument d'un objet de gestion de données on obtient l'action correspondante.

    Du coup je vais retourner à la page HTML isolée, qui hier soir ne réussissait à charger qu'un module jquery sur deux.

    Merci pour les réponses, même si il s'avère que je mets juste un peu de temps à comprendre ...

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

Discussions similaires

  1. Ajouter l'attribut "rel" a un bouton de type "button"
    Par Pauloscorps dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/08/2011, 10h03
  2. Attribute "rel" exists, but can not be used for this element
    Par pasc06 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 27/02/2010, 11h36
  3. Balise href dynamique avec attribut "rel"
    Par gluc86 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 17/11/2009, 11h41
  4. un attribut "rel" dans un window.location
    Par vins31 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/06/2009, 19h55
  5. A quoi ca sert l'attribut REL de la balise image ?
    Par raton_laveur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/10/2008, 13h41

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