Récupérer text d'un button
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, je crée plusieurs button en javascript avec createlement dans une boucle for. J'attribue à ces button un texte avec innerHTML ou textContent, ou value.
Ensuite, je voudrais récupérer le texte dans ce bouton, mais ça ne fonctionne pas !
Alors voilà ce que j'ai écris :
Mais ça m'affiche undefined dans la console, donc comme si le bouton créé n'avait pas de texte !
Voyez-vous comment résoudre ce problème ?
Merci d'avance !
Ensuite, je voudrais récupérer le texte dans ce bouton, mais ça ne fonctionne pas !
Alors voilà ce que j'ai écris :
var DIV = document.getElementById('MonDiv'); while(listeConv[0].length>0) { listeMailButton[i] = listeAmisConv[0][0]; var button = document.createElement("button"); button.type = "button"; button.class = "Button"+NbreButton+""; button.id = ""+listeAmis[0][0]+""; var val =; button.textContent = ""+listeAmis[1][0]+""; DIV.appendChild(button); button.onclick = (function() { var currentI = listeConv[0][0]; return function() { console.log(currentI); ChangeMail(currentI); } })(); listeConv[0].shift(); listeConv[1].shift(); NbreButton++; }
Mais ça m'affiche undefined dans la console, donc comme si le bouton créé n'avait pas de texte !
Voyez-vous comment résoudre ce problème ?
Merci d'avance !
A voir également:
- Récupérer text d'un button
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment recuperer une video sur youtube - Guide
5 réponses
Bonjour
Es-tu sûr de donner le bon code ? Chez moi, la ligne var val =; provoque une erreur et il ne se passe pas grand chose.
Et si je retire cette ligne et que j'adapte un peu (je n'ai pas tes tableaux), ça marche, le texte des boutons s'affiche bien dans la console.
Es-tu sûr de donner le bon code ? Chez moi, la ligne var val =; provoque une erreur et il ne se passe pas grand chose.
Et si je retire cette ligne et que j'adapte un peu (je n'ai pas tes tableaux), ça marche, le texte des boutons s'affiche bien dans la console.
Ah oui pardon, normalement il n'y a pas cette ligne var val =; !
Mais c'est bien sans cette ligne que ca foire ! Parce que dans la boucle while, si j'affiche le texte du button dans la console ça fonctionne aussi, mais c'est depuis une autre fonction que ca ne fonctionne pas. Même une fonction toute bête qui ne fait afficher le texte dans la console, j'ai toujours undefined...
Mais c'est bien sans cette ligne que ca foire ! Parce que dans la boucle while, si j'affiche le texte du button dans la console ça fonctionne aussi, mais c'est depuis une autre fonction que ca ne fonctionne pas. Même une fonction toute bête qui ne fait afficher le texte dans la console, j'ai toujours undefined...
mais c'est depuis une autre fonction que ca ne fonctionne pas
Je ne comprends pas.
Depuis quelle autre fonction ?
Une que tu ne nous donnes pas ?
Tu nous demandes de dire ce qui ne va pas dans une fonction que tu ne donnes pas ?
Je ne comprends pas.
Depuis quelle autre fonction ?
Une que tu ne nous donnes pas ?
Tu nous demandes de dire ce qui ne va pas dans une fonction que tu ne donnes pas ?
Ce que je veux dire c'est depuis n'importe quelle autre fonction ! Par exemple :
function UneFonction()
{
Var button = document.getElementById('Button');
console.log(button.value);
}
En appelant cette fonction après la création du bouton, ca me renvoie undefined.
Mais en fait je mets comme value de mon button un élément d'une liste qui est supprimée ensuite.
Alors peut être qu'au moment de l'afficher, il va chercher la valeur dans cette liste qui n'existe plus...
Alors il faudrait que je "fige" la valeur de value au moment de la création pour se ca ne dépende plus de la liste...
Vois tu ce que je veux dire ?
function UneFonction()
{
Var button = document.getElementById('Button');
console.log(button.value);
}
En appelant cette fonction après la création du bouton, ca me renvoie undefined.
Mais en fait je mets comme value de mon button un élément d'une liste qui est supprimée ensuite.
Alors peut être qu'au moment de l'afficher, il va chercher la valeur dans cette liste qui n'existe plus...
Alors il faudrait que je "fige" la valeur de value au moment de la création pour se ca ne dépende plus de la liste...
Vois tu ce que je veux dire ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est bien, ce que je pensais : tu nous demandais de dire ce qui n'allait pas dans une fonction sans nous donner cette fonction. Tu crois que nous sommes devins ?
Le code que tu as donné dans ton premier post est correct. Par contre, ta manière de récupérer le texte du bouton n'est pas correcte, elle.
Une fois que le texte a été attribué au bouton, peu importe qu'il vienne ou non d'une liste et que cette liste ait été détruite : quand tu vois le texte du bouton, c'est celui du bouton, pas de la liste.
Ton bouton s'appelle-t-il 'Button' ? A priori, son id vient de la liste listeAmis[0][0]. Au passage, il semblerait que tous tes boutons aient le même id, ce qui est une absurdité : un identifiant doit être unique, sinon ce n'est pas un identifiant.
D'autre part :
Ceci n'affiche pas le texte du bouton. Ceci affiche son attribut "value", et comme tu n'as pas mis d'attribut value, ça affiche undefined.
Le texte du bouton est dans textContent, tu devrais le savoir puisque c'est comme ça que tu affectes le texte à ton bouton. Pour le retrouver il suffit donc de faire
Le code que tu as donné dans ton premier post est correct. Par contre, ta manière de récupérer le texte du bouton n'est pas correcte, elle.
Une fois que le texte a été attribué au bouton, peu importe qu'il vienne ou non d'une liste et que cette liste ait été détruite : quand tu vois le texte du bouton, c'est celui du bouton, pas de la liste.
document.getElementById('Button');
Ton bouton s'appelle-t-il 'Button' ? A priori, son id vient de la liste listeAmis[0][0]. Au passage, il semblerait que tous tes boutons aient le même id, ce qui est une absurdité : un identifiant doit être unique, sinon ce n'est pas un identifiant.
D'autre part :
console.log(button.value);
Ceci n'affiche pas le texte du bouton. Ceci affiche son attribut "value", et comme tu n'as pas mis d'attribut value, ça affiche undefined.
Le texte du bouton est dans textContent, tu devrais le savoir puisque c'est comme ça que tu affectes le texte à ton bouton. Pour le retrouver il suffit donc de faire
console.log(button.textContent);