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 :

value d'un champ texte dont le name est sous forme de tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut value d'un champ texte dont le name est sous forme de tableau
    Bonjour,

    J'ai des champs textes (construis dynamiquement par PHP) dont le name est sous forme de tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <form name="formulaire" method="post">
    <input type="text" name="carte[0]" value="" />
    <input type="text" name="carte[1]" value="" />
    <input type="text" name="carte[2]" value="" />
    <input type="text" name="carte[3]" value="" />
    ...
    </form>
    Je souhaite récupérer en javascript la value de un ou plusieurs champs texte. Je pensais bêtement que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var carte = document.formulaire.carte[0].value;
    fonctionnerait... Mais non.
    Je cite l'erreur : document.formulaire.carte[0] is undefined

    Me semblait avoir déjà utiliser ça de cette manière... mais faut croire que non...

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    C'est un problème de compréhension de ce que tu écris.
    Quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formulaire.carte[0]
    tu recherches, dans le formulaire appelé "formulaire" (au passage, pas terrible comme nom ) la collection d'éléments appelés "carte" et dans cette collection, récupérer le premier élément (de rang 0).

    Pour récupérer l'élément dont le nom est "carte[0]", tu ne peux donc pas utiliser cette syntaxe, il faut donc faire autrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formulaire.elements['carte[0]']
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Ha oui ok, je comprends ! Effectivement j'aurais fait de cette manière pour choisir un bouton radio d'une collection de bouton radio par exemple. En fait pour javascript "carte[0]" n'est pas un tableau car le [0] fait partie du nom du champ.
    Merci beaucoup !

    PS : Mon formulaire s'appelle en fait "blocage". J'ai mis un nom un peu idiot quand j'ai rédigé mon message ici. Je t'accorde volontiers que formulaire est pas terrible !

  4. #4
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    Bonjour,

    je me permets de relancer le sujet car j'ai à peu près le même pb et je bloque sur mon code

    j'ai un formulaire généré dynamiquement un peu comme sur cette exemple
    sauf que j'aimerais vérifier si les champs sont remplis ou nom

    donc sur le onsubmit j'ai une fonction qui vérifie le formulaire mais ça ne fonctionne pas :

    ( pour le moment j'essaie de me contenter d'afficher les valeurs de mes input)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function valid_formulaire(form) { 
     
    var t_tableau_oblig = document.form.elements['tableau_oblig[]'];
     
    for(i=0;i<t_tableau_meta.length;i++) {
    alert(t_tableau_oblig[i].value);
    }
    }
    là pour le moment ça bloque sur t_tableau_meta.length
    ( Erreur : 'length' a la valeur Null ou n'est pas un objet. )

    Merci

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Par défaut
    Si c'est un copié collé direct de ton code, cela me semble normal que ça ne fonctionne pas.

    tu récupère tes valeurs dans t_tableau_oblig et tu utilise par la suite t_tableau_meta.

    Les noms me semblent différents ^^

  6. #6
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    Oups non en fait j'ai pas voulu copier tout mon code en fait

    donc j'ai copié qu'une partie du code

    mais je l'ai mal copié

    donc en résumé même avec t_tableau_oblig.length ça ne fonctionne pas ...

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

Discussions similaires

  1. [AC-97] Concatenation de champs texte, dont 1 qui peut être sans valeur.
    Par cacoubalboa dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/08/2010, 15h26
  2. intervenir sur un champ texte à partir du name et de l'ID
    Par typikal dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 23/01/2008, 15h29
  3. pb pour recuperer un champ texte dont le nom change
    Par birame dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2007, 09h57
  4. Réponses: 17
    Dernier message: 03/10/2005, 11h16
  5. changer la value d'un champ texte
    Par kidu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/07/2005, 16h10

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