Page 1 sur 1
Problème avec GetElementById - Pas de propriétées
Publié : 13 avr. 2004, 22:45
par grandzebu
Bonjour,
Un javascript me donne l'erreur suivante :
Erreur : document.getElementById("liste") has no properties
Voici le code en question :
document.getElementById('liste').value = chaine;
J'ai bien un élement appelé 'liste' définit comme suit :
<INPUT TYPE='hidden' NAME='liste'>
Avec IE ça marche ! Après recherche il semble que beaucoup de monde ait un problème similaire. Y aurait-il un os dans l'interpréteur Javascript ?
Si quelqun a une idée !
Publié : 13 avr. 2004, 22:56
par chBok
Oui, une idée...
getElementById sert à récupérer un objet par son id, mais pas par le nom du champ formulaire name.
document.getElementById('form').liste.value=chaine devrait être mieux, où form serait l'id du formulaire. document.form[0].liste.value devrait fonctionner aussi, si le formulaire est le n° 0.
Publié : 13 avr. 2004, 23:18
par Grandzebu
Ben non ça marche pas mieux. Par contre je viens de trouver il faut aussi donner le nom à la propriété ID comme ça :
<INPUT TYPE='hidden' NAME='liste' ID='liste'>
Merci pour la réponse
GZ
des exemples qui fonctionnent
Publié : 14 avr. 2004, 00:17
par yansanmo
Soit le document HTML suivant:
Code : Tout sélectionner
<html><body>
<form name="nameform" id="idform">
<input type="hidden" name="nameliste" id="idliste">
</form>
</body></html>
On peut récupérer la valeur de l'input par:
Code : Tout sélectionner
document.forms[0].elements[0].value <-- première balise form, premier élément.
document.forms['nameform'].elements['nameliste'].value <-- balise form avec le nom nameform et élément du formulaire avec le nom nameliste.
document.forms.nameform.nameliste.value <-- avec les noms
document.getElementById('idform').nameliste.value <-- avec l'id du formulaire
document.getElementById('idliste').value <-- avec l'id du champ input
et toutes les autres variantes...
avec mozilla, il y a aussi:
--
Yan Morin
Re: Problème avec GetElementById - Pas de propriétées
Publié : 14 avr. 2004, 11:44
par Bobe
grandzebu a écrit :
Avec IE ça marche !
C'est un bug de IE.
- Avec getElementById, tu récupères les éléments par leur ID.
Un appel à cette méthode renvoie l'élément correspondant à cet id (un id étant unique)
- Avec getElementsByName, tu récupères les éléments par leur nom (attribut name). Cela est valable pour les éléments qui peuvent avoir un tel attribut)
- Ou si c'est spécifique à un formulaire, tu peux aussi utiliser document.forms['***'].elements['***']
Pour les deux tableaux (forms et elements), tu peux utiliser l'ID, le nom ou l'index de l'objet voulu.
Attention à ne pas confondre
id et
name, seules les commandes de formulaire avec un
name auront leur paire nom/valeur passée au script cgi
Publié : 15 avr. 2004, 00:10
par olab
Essaye en écrivant ID en minuscule plutôt qu'en majuscule => id