Javascript, getElementById() imbriqués
Fermé
samyghan
Messages postés
73
Date d'inscription
mardi 10 juin 2008
Statut
Membre
Dernière intervention
28 janvier 2009
-
28 janv. 2009 à 11:00
samyghan Messages postés 73 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 28 janvier 2009 - 28 janv. 2009 à 12:49
samyghan Messages postés 73 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 28 janvier 2009 - 28 janv. 2009 à 12:49
A voir également:
- Javascript, getElementById() imbriqués
- Telecharger javascript - Télécharger - Langages
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Node.js javascript runtime virus ✓ - Forum Virus
- Erreur #125 javascript - Forum Mozilla Firefox
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
2 réponses
Salut
Ca marcherait avec ca :
var cHTML = document.getElementById("form1")
Mais le innerHTML te renvoie une chaine de caractère. Tu ne peux donc plus utiliser les objets décris dedans
Ca marcherait avec ca :
var cHTML = document.getElementById("form1")
Mais le innerHTML te renvoie une chaine de caractère. Tu ne peux donc plus utiliser les objets décris dedans
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 janv. 2009 à 11:43
28 janv. 2009 à 11:43
Bonjour,
var cHTML = document.getElementById("form1").innerHTML;
var valeurChamp = cHTML.getElementById("champ").value;
alert(valeurChamp);
comme cela tu n'applique pas le bon principe
tu mélanges l'accès à un objet par le nom et l'accès par l'id
par le nom il faut effectivement fait document.form.champ.value
par l'id on l'atteint directement
pour atteindre un champ du formulaire
<input type="text" name="champ1" id="champ1" value="">
tu fais
et de plus inner.HTML permet d'écrire dans l'objet et pas de le selctionner comme tu l'as fait
attention pour ecrire dans un div on utilise inner.HTML
pour ecrire dans un input on utilises .value
ex:
pour lire: var valeurChamp=document.getElementById("champ1").value;
pour ecrire:
document.getElementById("champ1").value="Bonjour";
var cHTML = document.getElementById("form1").innerHTML;
var valeurChamp = cHTML.getElementById("champ").value;
alert(valeurChamp);
comme cela tu n'applique pas le bon principe
tu mélanges l'accès à un objet par le nom et l'accès par l'id
par le nom il faut effectivement fait document.form.champ.value
par l'id on l'atteint directement
pour atteindre un champ du formulaire
<input type="text" name="champ1" id="champ1" value="">
tu fais
var obj= document.getElementById("champ1"); var valeurChamp=obj.value; // ou directement: var valeurChamp=document.getElementById("champ1").value;
et de plus inner.HTML permet d'écrire dans l'objet et pas de le selctionner comme tu l'as fait
attention pour ecrire dans un div on utilise inner.HTML
pour ecrire dans un input on utilises .value
ex:
pour lire: var valeurChamp=document.getElementById("champ1").value;
pour ecrire:
document.getElementById("champ1").value="Bonjour";
samyghan
Messages postés
73
Date d'inscription
mardi 10 juin 2008
Statut
Membre
Dernière intervention
28 janvier 2009
15
28 janv. 2009 à 12:18
28 janv. 2009 à 12:18
Merci je comprends mieux comment faire maintenant.
J'ai une dernière question pour appliquer cette méthode a mon problème :
Est-il possible de mettre une variable dans "document.form.champ.value" ?
En fait j'ai plusieurs formulaires générés dynamiquement qui ont les mêmes champs, comment faire pour qu'une fonction puisse accéder au même champs des différents formulaire avec une seule variable d'entrée ?
Evidemment :
check(formid) {
return document.form+formid+.champ.value
}
ne fonctionne pas !
J'ai une dernière question pour appliquer cette méthode a mon problème :
Est-il possible de mettre une variable dans "document.form.champ.value" ?
En fait j'ai plusieurs formulaires générés dynamiquement qui ont les mêmes champs, comment faire pour qu'une fonction puisse accéder au même champs des différents formulaire avec une seule variable d'entrée ?
Evidemment :
check(formid) {
return document.form+formid+.champ.value
}
ne fonctionne pas !
samyghan
Messages postés
73
Date d'inscription
mardi 10 juin 2008
Statut
Membre
Dernière intervention
28 janvier 2009
15
28 janv. 2009 à 12:49
28 janv. 2009 à 12:49
C'est bon j'ai trouvé, merci a toi Alain.
C'est pas bien j'ai fais un multipost sur un autre forum !
La solution est ici : https://openclassrooms.com/forum/sujet/getelementbyid-imbriques-27935 :)
C'est pas bien j'ai fais un multipost sur un autre forum !
La solution est ici : https://openclassrooms.com/forum/sujet/getelementbyid-imbriques-27935 :)
28 janv. 2009 à 11:34
C'est vraiment la ligne
var valeurChamp = cHTML.getElementById("champ").value;
qui plante, et même si cHTML est en innerHTML ou pas...