Passage d'un paramètre attribut

Résolu
cs_Heirem Messages postés 22 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 25 novembre 2011 - 21 sept. 2008 à 01:54
cs_Heirem Messages postés 22 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 25 novembre 2011 - 21 sept. 2008 à 14:26
Bonjour,
Considérons les petites fonctions suivante bien connues :
/** coche la checkbox passée en paramètre */
function cocher(lobjet)
{
document.getElementById(lobjet).checked = true;
}

/** décoche la checkbox passée en paramètre */
function decocher(lobjet)
{
document.getElementById(lobjet).checked = false;
}

/** rend enabled l'objet passé en paramètre */
function enable(lobjet)
{
document.getElementById(lobjet).disabled = false;
}

/** rend disabled l'objet passé en paramètre */
function disable(lobjet)
{
document.getElementById(lobjet).disabled = true;
}

Question : comment réduire tout cela à une seule fonction ?
Une fonction du genre :

function agirsur(lobjet,attribut,valeur) {
document.getElementById(lobjet).attribut = valeur;
}

Merci d'avance

2 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
21 sept. 2008 à 07:58
bonjour;

function trait(lobjet,attribut,valeur)

{    document.getElementById(lobjet)[attribut]=valeur;    }

si l'appel est du style : trait('toto','checked',false);

il y a sûrement d'autres manières de faire....

Cordialement     Bul  [mon Site] [M'écrire], <!--
3
cs_Heirem Messages postés 22 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 25 novembre 2011
21 sept. 2008 à 14:26
Merci Bultez !
Cela marche à merveille.
D'autres manières de faire ? Sans doutes, mais cela me convient.
Mon erreur était de vouloir travailler sur les objets attributs, alors qu'il faut penser "tableaux". Suffisait donc de retirer le '.' ;)
0
Rejoignez-nous