Désolé de ne pas donner un titre clair, car je ne sais pas pourquoi mon script ne fonctionne pas.Pourquoi ma fonction ne fonctionne pas correctement?
var all=[];
function People(name){
this.name=name;
this.func=function(){alert(this.name)};
all.push(this);
};
var person1=new People('Peter');
for(i=0;i<all.length;i++){
var newBtn=document.createElement('input');
document.body.appendChild(newBtn);
newBtn.type='button';
newBtn.value=all[i].name;
newBtn.onclick=all[i].func; // why doesn't is say "Peter" when I click the button ?
};
Btw, existe-t-il un meilleur moyen d'atteindre mon objectif: créer des objets; avec chaque objet, créez un bouton; quand un bouton est cliqué, faites une certaine fonction.
@KirenSiva Habituellement, une bonne question à poser, mais pas besoin de le crier. :) –
@KirenSiva Il n'a pas dit qu'il lance une erreur, il a dit qu'il n'alerte pas 'Peter' quand il clique sur le bouton. – Barmar