J'ai plusieurs champs de saisie dans un formulaire ayant chacun un nom unique. Par exemple, pour changer la couleur que je ferais:Est-il possible d'utiliser des variables en tant qu'éléments dom?
testForm.username.style.background = "yellow";
username
étant le nom de l'entrée et testform
étant le nom du formulaire
Je veux faire: remplacer username
avec une elem
variable de sorte que lorsque J'appelle la fonction pour changer la couleur de fond je n'ai pas besoin d'avoir une fonction séparée pour chaque champ unique. Je voudrais juste envoyer le nom elem
et cette fonction fonctionnerait pour tous les domaines.
testForm.elem.style.background = "yellow";
Mon problème est que cela ne fonctionne pas. Par exemple il a passé le elem
dans la fonction bien, mais il dit que testForm.elem.style
est null
. Pour une raison quelconque, javascript n'aime pas les variables pour les noms d'éléments que je devine?
Pas une bonne idée. L'accès à partir d'une collection 'elements' serait plus fiable et conforme aux normes, par exemple:' testForm.elements [elem] .style.backgroundColor = 'yellow'' – kangax
RaYell merci pour l'aide, ça a fonctionné comme je le voulais à. J'avais l'impression que testForm [elem] .style était le même que testForm.elem.style ... ne le devinez pas! Quel est l'avantage d'utiliser la collection d'éléments? En quoi cela m'aide-t-il autrement que d'être conforme aux normes? – payling
Je voudrais également tester l'existence d'un élément (et de sa propriété 'style') avant de tenter de le modifier -' var el = testForm.éléments [elem]; if (el && el.style) el.style.backgroundColor = 'jaune'; ' – kangax