2017-08-31 2 views
0

Je travaille actuellement sur un générateur de liens afin de m'améliorer. J'ai eu du mal à accéder à un tableau global déclaré au début de mon script dans un événement "click" depuis le premier jour. J'ai essayé de le déboguer moi-même mais je suis coincé!Javascript - Accéder à un tableau global dans un événement DOM

Actuellement, j'essaie d'ajouter de nouvelles données à partir d'un formulaire au début du tableau avec la fonction unshift(). Le retour de la fonction m'indique qu'il y a 4 items mais que les données ne sont pas dans le tableau.

Il ressemble à ceci:

var listeLiens = [{ 
    titre: "So Foot", 
    url: "http://sofoot.com", 
    auteur: "yann.usaille" 
    }, 
    { 
    titre: "Guide d'autodéfense numérique", 
    url: "http://guide.boum.org", 
    auteur: "paulochon" 
    }, 
    { 
    titre: "L'encyclopédie en ligne Wikipedia", 
    url: "http://Wikipedia.org", 
    auteur: "annie.zette" 
    } 
]; 

inputSubmit.addEventListener("click", function() { 
    form = document.querySelector("form"); 
    listeLiens.unshift({ 
    "titre": form.elements.titreLien.value, 
    "url": form.elements.urlLien.value, 
    "auteur": form.elements.nomAuteur.value 
    }); 
}); 

j'ai vérifié sur le web, mais n'a pas pu trouver une solution.

+1

Pourriez-vous s'il vous plaît expliquer votre question plus loin, il est difficile à comprendre. – Script47

+0

Cela me semble bien, voir ce violon: https://jsfiddle.net/t6vLu139/1/ La console enregistre 4 éléments dans le tableau. Je suggère d'utiliser l'événement submit sur le formulaire au lieu de cliquer sur l'événement sur le bouton. – Meldon

+0

"* mais les données ne sont pas ajoutées au tableau. *" - pourquoi pensez-vous que cela? Où (et surtout quand) utilisez-vous le tableau? – Bergi

Répondre

0

J'ai essayé quelques trucs pour résoudre le problème mais ça reste la même erreur! Je ne parviens pas à accéder au tableau global déclaré au début de mon script dans mon événement ... il semble que ce soit un autre tableau utilisé dans l'événement, pas le même qu'au début du script ...