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 :

Récupérer le "name" d'un champ de formulaire à partir de "id" ?


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut Récupérer le "name" d'un champ de formulaire à partir de "id" ?
    Bonjour,

    Je souhaiterais savoir s'il est possible de récupérer le "name" d'un "input" d'un formulaire (une fonction javascript peut être : getNameById serait parfait !)

    Le but étant de pouvoir automatiser la création de ma chaîne de caractère lors de l'envoi de la requête XML (en AJAX) pour une méthode de type POST :

    avec str réalisé automatiquement tel que :

    str = 'nom=' + Field1; [...]

    nom serait alors obtenu préalablement avec un "for"

    Merci d'avance

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    on peut avoir le code html d'un champs avec name et id ?
    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 régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut
    Je ne saisi pas tout à fait ce que tu me demande mais je dirais que ça ressemble à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="nom" id="Field1" />
    Je ne sais pas si cela répond à ta question...

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    oui cela répond à ma question mais j'avoue ne pas saisir la ficnalité de ton truc ???
    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 !

  5. #5
    Membre averti Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Points : 425
    Points
    425
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function getNameById(id)
    {
    	return document.getElementById(id).name;
    }
    11001.00101.10010.10000.00111

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut
    Si jamais cela n'était pas possible, je me dis que l'on pourrait nommé les id comme suit :

    id = FieldA_B

    avec :

    A : chiffre caractérisant un champ donné et permettant de réaliser une boucle en javascript
    B : chaine de caractere contenant le nom du champ d'une table donnée dans laquelle on va rentrer la valeur

    Je ne sais pas si je suis clair... je posterais l'idée... si jamais !

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    je ne vois toujours pas le finalité de la chose ?

    d'un coté des names ... il y en a plusieurs identiques sur la page ?
    de l'autre coté des id ...

    a quel moment à tu besoin d'un id se rapportant au name ?
    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 !

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut
    Tout d'abord merci marts !

    Space Frog je te post la fonction et je te dis !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut
    Alors voilà la fonction qui me permet d'automatiser la chaine de caractère à rentrer pour effectuer send :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function getDataFromField(nFields) {
    	var digit = 0;
    	var data = "";
    	fieldValue = new Array(nFields);
    	fieldName = new Array(nFields);
    	for(i=0 ; i<nFields ; i++) {
    		digit = i + 1;
    		fieldValue[i] = document.getElementById('Field' + digit).value;
    		fieldName[i] = document.getElementById('Field' + digit).name;
    		if(i < nFields-1) {
    			data = data + fieldName[i] + "=" + fieldValue[i] + "&&";
    			}
    		else {
    			data = data + fieldName[i] + "=" + fieldValue[i];
    			}
    		}
    	return data;
    	}
    nFields : correspond au nombrede champs de ton formulaire
    fieldValue: correspond à la valeur d'un champ du formulaire
    fieldName: correspond au nom du champ du formulaire --> mais également au nom d'un champ d'une de mes tables de ma Base De Données...

    Etant donné que j'ai beaucoup de formulaire, je trouve ça pluôt pratique !

    Voilà... dis moi si ça joue pour toi !!??

    Au fait, j'apprécierais beaucoup si vous pouviez me dire si ma syntaxe dans le cas d'une requete avec plusieurs champs est juste... le fameux ;&&

    Merci

  10. #10
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    si ça joue ???

    bref ...

    heu oui mais ça ne dit toujours pas le lien entre les id et les names ...
    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 !

  11. #11
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    pourquoi conaténer une chaine get que tu peux récupérer coté php ?
    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 !

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut
    Mais là c'est une chaine POST... ou je me trompe !!

    avec GET : xhr.send(null);
    avec POST : xhr.send([... chaine de caractère ...]);

  13. #13
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ha oui c'est vrai ajax ...
    desolé j'avais zappé j'était resté sur un form en GET je sasi pas pourquoi ???

    mais ça ne me dit toujours pas le lien entre tes names et tes id
    pourquoi ne pas nommer directement les champs avec un name comme il faut ?
    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 !

  14. #14
    Membre averti Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Points : 425
    Points
    425
    Par défaut
    un '&' tout seul suffit.
    11001.00101.10010.10000.00111

  15. #15
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    oui exact marts mais je trouve qu'il se complique la vie ...
    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 !

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut
    Merci marts !

    Space Frog : L'id me permet de récupérer la valeur de mon champ par une méthode incrémentale... Le name correspond au nom du champ de ma table dans ma BDD !

    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <input type="text" id="Field1" name="prenom" />
    <input type="text" id="Field2" name="nom" />
    <input type="text" id="Field3" name="surnom" />
    <input type="text" id="Field4" name="date" />
    "ça joue pour toi ??" (des restes linguistiques de Suisse!)

  17. #17
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    be si tu commences à Field0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementsByName('name')[0]  // aura pour id Field0
    Autrement dit

    ou
    si le premier field et 1 ...
    donc pas besoin de fonction getNameId ...

    et éventuellement jouer sur les multiples ...
    avec \ division entière ou modulo
    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 !

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Points : 84
    Points
    84
    Par défaut
    Ah ba oui, vu comme ça, c'est sûr !
    Mais ça, je ne le savais pas !

    Mais ta méthode me donne l'impression de ne pas pouvoir obtenir les name par méthode incrémentale..; je me trompe ??

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

Discussions similaires

  1. [AC-2010] Ajouter un champ à un formulaire à partir d'une requête
    Par AYARINHO dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/12/2013, 11h58
  2. Obligation double-quote autour des noms de champs ?
    Par itokia dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 04/03/2013, 07h52
  3. [AC-2010] champ dans formulaire à partir de boite de liste
    Par ka.roux dans le forum IHM
    Réponses: 8
    Dernier message: 29/09/2011, 18h17
  4. [debutant]récupérer le numéro d'ordre d'un champ de formulaire
    Par dimi2 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/07/2008, 19h28
  5. afficher des quotes dans un champ de formulaire
    Par benkunz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/10/2007, 14h45

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