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 :

Deux formulaires sur la même page


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut Deux formulaires sur la même page
    Bonjour,

    J'ai 2 formulaires sur la même page, je veux savoir en événement focus sur un input, cet input appartient à quel formulaire:

    Formulaire1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form name="form1">
    <input type="text" name="inpt1" id="inpt1">
    </form>
    Formulaire2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form name="form2">
    <input type="text" name="inpt2" id="inpt2">
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $('input').click(function(){
      var get = $(this).parent('form').attr('name');
      alert(get);
      });
    J'utilise la méthode parent pour cette exemple, si vous avez une autre solution en ajoutant une balise avant le input, ça retourn undefined:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <form name="form2">
    <ul>
    <li>
    <input type="text" name="inpt2" id="inpt2">
    </li>
      </ul>
    </form>
    Merci d'avance

  2. #2
    Membre chevronné Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Par défaut
    quand parent reçoit un attribut, c'est pour filtrer les résultats déjà obtenus, pas pour cibler un parent plus en aval dans l'arborescence.
    tu peux donc y arriver ainsi:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $('input').click(function(event){
      var get = event.target;
      while (get.parentNode.tagName.toLowerCase()!=="form" && get.parentNode!==document.documentElement) {
               // la seconde condition n'est pas indispensable, elle sert juste à éviter l'infinite loop si l'input n'est pas dans un formulaire
               get=get.parentNode;
      }
      get=get.name;
      alert(get);
    });

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    parent() cible le parent direct.
    Pour peu que l'<input> soit dans un <p> (ou autres balises), parent() ne renverra pas la bonne valeur.

    Il vaut mieux utiliser closest() :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function(){
    	$('input').click(function(){
    		var form_name = $(this).closest('form').attr('name');
    		alert( form_name );
    	});
    });

    @01001111
    Pourquoi chercher à ré-inventer la roue ?

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Il ne faut pas confondre les méthodes parent() et parents() : var get = $(this).parents('form').attr('name');

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut
    @01001111: J'ai essayé votre code et ça retourne undefined

    @jreaux62: marche très bien

    @danielhagnoul: C'est quoi la difference entre parents et parent?

    Une autre question, alert($(this)) retourne [Object Object], comment puis je trouver le contenu de cet object?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Dis,

    nos réponses ne te dispensent pas de recherches personnelle !

    : "jquery parents"

    Et je t'ai mis des liens pour "parent" et "closest". Les as-tu suivi ?

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut
    La seule confusion que j'ai, est ce parents peut nous rendre plusieurs éléments, ou bien elle retourne le résultat trouvé après elle s'arrête

  8. #8
    Invité
    Invité(e)
    Par défaut
    .parents()

    Qu'est-ce qui t'empêche de faire des tests ?

    (et si tu ne comprends pas l'anglais; il existe des traducteurs en ligne)

    Pour acquérir des connaissances, la meilleure (et seule) méthode a toujours été... d'apprendre !

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

Discussions similaires

  1. [Spring MVC] Deux formulaires sur une même page
    Par djodjo dans le forum Spring Web
    Réponses: 1
    Dernier message: 20/10/2008, 09h52
  2. [MooTools] Deux évenement sur une même page
    Par enima83 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 01/07/2008, 17h31
  3. Plusieurs formulaires sur une même page
    Par patsak dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2008, 16h14
  4. [JpGraph] Placer deux graphes sur une même page
    Par am.adnane dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/05/2007, 01h04
  5. Comment disposer deux formulaires sur la même ligne ??
    Par soad029 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 05/05/2007, 04h14

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