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 :

Il y a sans doute un meilleur selector


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Par défaut Il y a sans doute un meilleur selector
    Bonjour

    Voilà j'ai des liens qui sont dans une liste elle même dans un fieldset et le tout dans un form. Je veux que quand on clique sur le lien le form soit posté à l'adresse du lien; j'ai fait ça avec cette fonction:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function clickLink(alink){//poste le formulaire filtre quand on clique sur un lien
            //alert($(alink).parent().parent().parent().parent().get(0).nodeName);
                $(alink).parent().parent().parent().parent().attr('action', alink.href);
                $(alink).parent().parent().parent().parent().submit();
                return false;
            }
    Il y a sans doute plus élégant et efficace que tout cet empilage de parent(). Mais quoi? Je m'y perd dans tous les sélectors jQuery.

    Merci de votre avis

  2. #2
    Membre chevronné
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 339
    Par défaut
    Si tu connais l'id de ton form, tu peux simplement faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $('#monform').attr('action', alink.href);
    $('#monform').submit();

  3. #3
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(alink).parents('form:eq(0)').attr('action', alink.href);
    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 !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Par défaut
    Merci SpaceFrog ça fonctionne parfaitement . Sûr que je n'aurais pas été cherché ça tout seul

    @Isythiel : merci de ta proposition mais ça je sais faire bien sûr; mais j'ai omis de dire qu'il y avait plusieurs forms, et je n'allais pas créer une fonction pour chaque form quand même.

  5. #5
    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
    je pense que cela fonctionnerait aussi avec closest()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(alink).closest('form').attr('action', alink.href);
    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 !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Par défaut
    ha oui SpaceFrog cela fonctionne parfaitement.

    Je ne connaissais pas cette méthode closest().

    Et je trouve que c'est plus clair et plus concis. Adopté.

    Voilà la version finale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function clickLink(alink){//poste le formulaire filtre quand on clique sur un lien
        var form = $(alink).closest('form');
        $(form).attr('action', alink.href);
        $(form).submit();
        return false;
    }
    Merci encore de ton aide précieuse

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

Discussions similaires

  1. Plantage sans doute par manque de mémoire
    Par verbose dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 15/11/2007, 12h18
  2. [sans doute bete] transformer une chaine en variable.
    Par Vanish dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/02/2007, 17h12
  3. Réponses: 6
    Dernier message: 26/11/2006, 19h36

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