Obtenir la valeur d'un champ de formulaire dont le nom est inconnu [Résolu]

Signaler
Messages postés
35
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
31 janvier 2012
-
Messages postés
35
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
31 janvier 2012
-
Bonjour a tous et a toutes...
Apres plrs heures sur Google et pas de résultats, je me decide a faire un topic ici...

Je cherche la valeur d'un champ de formulaire dont le nom du champ de formulaire est inconnu et non fixe (donc a passer en parametre).

J'ai un formulaire assez classique généré par du PHP dont les champs de formulaire (le nom) changent selon l'endroit la zone etc...

Petit exemple

<form action="page.php" method="post" name="myfrom">

</form>

De manière logique si je veux avoir la valeur de "nomx" ou "nomy" il faut j'utilise la commande suivante :

myform.nomxx.value 
myform.nomyy.value

Maintenant suposons que nomxx ou nomyy soit ecrit par php et puissent changer...

J'ai voulu utiliser:

fieldname = 'nom_de_mon_champ';
myform.GetEelementByID(fieldname).value

Mais cela ne fonctionne pas, il semble que le GetEelementByID ne soit valable que pour les <div id....

J'imagine qu'il ya un equivalent pour les champs de formulaire....
Mais je ne trouve pas quoi !?

Si vs pouviez eclairer ma lanterne !

Merci
-The King Of Freeman-

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

    il faut respecter les majuscules/minuscules
    un Id n'est pas lié à un formulaire, mais au document




<form action="page.php" method="post" name="myfrom">
   
   
</form>



    document.getElementById("nomxx").value
    document.myform.nomxx.value

    ( il y a d'autres possibilités )

>>On utilise la proriété ID pour des div, et certains composants...
>>Mais pour les champs de formulaire, en XHTML ou HTML  on utilise la propriété "name"
    on peut utiliser ID... si l'élément a un ID
    ( IE est capable de substituer le name, si l'ID n'existe pas )
    si c'est dans un formulaire, on peut utiliser document.name du formulaire.name de l'élement
    ( IE permet d'utiliser le raccourci : name de l'élement seul )








<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
35
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
31 janvier 2012

EUREKA :)

MERCI
-The King Of Freeman-
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
Bien le bonjour,
Je ne sais pas si, mais des fois je soumets aussi :
    myform.GetEelementByID n'éxiste pas :
    myform.getEelementById existe par contre
il faut respecter la casse ....

[o-_-o]
Messages postés
35
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
31 janvier 2012

Merci,
Toutefois Meme en respectant la case (min / maj) cela ne fonctionne pas pour des champs input...

A l'inverse :
Cette fonction getElementById() , ecrit en minucule ou majuscule sous IE 6.x ou FireFox fonctionne pour des <div id='...
-The King Of Freeman-
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
oups, j'avais pas vu un petit truc tout idiot cela dit...

tes champs non pas d'id....

<form action="page.php" method="post" name="myfrom">

</form>

cela ne serait il point la cause de tes tracas ?

[o-_-o]
Messages postés
35
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
31 janvier 2012

J'ai essayer :

Cela ne fonctionne pas...

Mais a ma connaissance (peut etre je me trompe)

On utilise la proriété ID pour des div, et certains composants...
Mais pour les champs de formulaire, en XHTML ou HTML (norme W3C) on utilise la propriété "name"

Dans la logique j'ai essayer : getElementByName() et j'ai découvert que getElementByNames() existe....  

http://www.google.fr/search?hl=fr&q=%22javascript%22+getElementByName&meta=

Mais cela ne foctionne pas.....

Erf...
-The King Of Freeman-
Messages postés
35
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
31 janvier 2012

<form action="page.php" method="post" name="myform">

</form>

Fonctionne:

<script type="text/javascript">
v = myform.nomxx.value;
alert(v);
</script>

Ne fonctionne pas:

fieldname = 'nomxx';
v = myform.GetEelementByName(fieldname).value;

fieldname = 'nomxx';
v = myform.GetEelementByNames(fieldname).value;

fieldname = 'nomxx';
v = myform.GetEelementById(fieldname).value;