Changer un id avec this

Résolu
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 - 26 juin 2008 à 14:14
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 26 juin 2008 à 16:37
Bonjour à tous,

Bon déjà je tiens à dire que je me sens très conne de poser cette question mais là je me prend la tête depuis ce matin et je comprend pas. (alors c'est interdit de se moquer de moi )
J'ai un bouton

ET la fonction do_something(button) {
.
.
.
button.id = "nouvel_id";
button.onclick = fonction () {do_something_else(this); };
.
.
}

Ça parait con comme ça.. et ben d'après firebug l'id ni le onclick ne changent et la console javascript ne dit rien, si je fais
document.getElementById("add_teams").id = "nouvel_id"; ça fonctionne mais la c'est completement débile étant donné que mon id c'est une variable...
La fonction s'execute normalement jusqu'à la fin mais pourquoi tan de haine???!!!

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)

8 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
26 juin 2008 à 14:24
je n'ai probablement pas compris ce que tu veux faire maelob
( mais pourquoi "réaffecter" le onclick ? )



<script>
function do_something(obj)
{ alert(obj.id);
obj.id="toto";
}
</script>

voir



et tout baigne, non ?
( testé uniquement avec FF3, mais ça doit baigner partout )
@+
3
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
26 juin 2008 à 15:17
Je fais passer l'id en parametre de ma fonction ça m'embête mais je vois pas pourquoi ça déconne.

Merci quand même mon cher ami.

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juin 2008 à 15:59
un exemple alors où on change les paramètres et leur nombre ?

<script>
function do_something()
{     var tmp="";
    for ( var n=0; n < arguments.length; n++)
    {    tmp+="\r\n"+n+":"+(arguments[n]);    }
    alert(tmp);
    arguments[0].onclick=function()
    {    do_something(this,'b1','b2','b3');    }
}
</script>

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
26 juin 2008 à 14:34
La c'est un exemple simplifié en faite c'est pour changer des arguments dans le onclick.
Enfin bref reprenons ton exemple
alert (obj) ---> [object HTMLInputElement] la ça baigne
alert (obj.id) ---> undefined
Je comprend pas...

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
26 juin 2008 à 14:39
Si j'utilise getAttribute('id') ou bien plutôt même setAttribute()
J'obtiens setAttribute is not a function...

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
26 juin 2008 à 16:26
Non le problème n'est pas la le problème venait d'un objet (ici un bouton) sur lequel je ne pouvait pas changer les attributs... (je devais changer le onclick et l'id) quand je faisait alert de l'objet j'avais bien objet html... mais si je faisais alert objet.value ou objet.name ou quoi que ça soit d'autre c'était undedifined et c'est ça que je comprenais pas...

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
26 juin 2008 à 16:27
Mais en tout cas je savais pas qu'on pouvait parcourir les arguments d'une fonction.

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juin 2008 à 16:37
navré alors maelob... j'ai rien compris....
mais si tu as réolu  : nickel.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Rejoignez-nous