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 :

this.form retourne undefined avec <a>


Sujet :

JavaScript

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut this.form retourne undefined avec <a>
    Bonjour,

    je viens de comprendre la raison de mon problème... c'est un bon début !
    J'ai besoin d'envoyer l'idenfifiant du formulaire avec this.form à une fonction js, via un <a href>

    pour l'exemple, je simplifit le truc avec alert()

    ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="javascript:alert(this.form);">
    renvoie bien le form

    mais pas cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:alert(this.form);">
    renvoie undefined

    Alors comment faire ? Le but étant de mettre une image à la place du bouton (<input>) ou lien (<a>) .
    Merci d'avance pour votre précieuse aide...
    @ bientôt !

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Pas testé: tu devrais pouvoir faire référence à la form contenant ton anchor par

  3. #3
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Merci pour ton aide ryan,

    cependant this.parentNode ne renvoie undefined.

    Y aurait pas une solution pour récupérer le form contenant l'anchor ?

  4. #4
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Si l'anchor est entre les balises <form> et </form>, this.parentNode devrait faire référence à l'objet form, donc un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert(this.parentNode.name);
    devrait te donner la propriété name de la form (pour autant que cette propriété soit complétée)

    Et ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.parentNode.submit();
    devrait soumettre le formulaire. Logiquement. Mais j'ai pas testé.

  5. #5
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    bah non, en faite, this.parentNode cible le <div> contenant le <a>...

    bref, j'ai modifié ma façon de faire... et abandonné le this.form

    Merci quand même !

    @+

  6. #6
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Ha voui, mais tu ne m'avais pas tout dit: Il y avait une div qui traînait dans le coin.
    Il doit être possible de remonter l'arborescense en enchaînant les parentNode, du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.parentNode.parentNode.submit()

  7. #7
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    oui j'y ai pensé mais comme au final je souhaite avoir une fonction/classe réutilisable, j'essaye de faire un truc le plus générique/automatique possible.

    Je stocke donc dès la création de ma classe l'id du formulaire...

    @+ et encore merci (malgré tout)

  8. #8
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    LES ID SONT FAIT POUR CA

    mettez des id sur vos objet et faites des getElementById
    c'est simple tout de même

    A+
    PS scuzez mais je ne sais combien de fois j'ai écrit cette réponse je vais finir par faire un bouton javascript dans ma barre de lien qui la poste sur simple clic

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/10/2014, 08h39
  2. Href avec la fonction (this.form.action)
    Par realsomar dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/08/2009, 19h49
  3. pb avec un 'this.form.submit();'
    Par soad029 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/10/2006, 00h52
  4. pb de fonction simple (this.form.submit()..)
    Par petitsims dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/01/2005, 09h29
  5. [C#] Définir le forme de démarrage avec SharpDevelop
    Par fabrice1596 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/10/2004, 10h52

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