2017-09-19 1 views
0
  • J'essaie de télécharger le fichier depuis la grille.
    • Lorsque je clique sur Ouvrir le lien de la première fenêtre une fenêtre s'ouvre.
    • dans cette fenêtre, vous verrez une grille.
    • mais maintenant vous verrez la grille mais une erreur est en train de se produire sur la ligne ci-dessous.
    • Je suis en train de télécharger le fichier comme cette fonctionnalité https://jsfiddle.net/335t5aow/

Uncaught TypeError: Impossible de définir la propriété 'href' de nullUncaught TypeError: Impossible de définir la propriété 'href' de null

template: "<a class=\"sportsDataPlayer\" onclick=\"window.open('#= FileName#', 'popup', 'width=800,height=600,scrollbars=yes,resizable=no')\">#= FileName.substring(FileName.lastIndexOf('/')+1) #</a>" 
  • peut vous les gars dire moi comment y remédier.
  • fournissant le code ci-dessous

http://jsfiddle.net/savyjgg2/2/

template: "<a class=\"sportsDataPlayer\" onclick=\"window.open('#= FileName#', 'popup', 'width=800,height=600,scrollbars=yes,resizable=no')\">#= FileName.substring(FileName.lastIndexOf('/')+1) #</a>"  
var csv = "a,b,c\n1,2,3\n"; 
var data = new Blob([csv]); 
var a2 = document.getElementById(".sportsDataPlayer"); 
alert("I am here"); 
a2.href = URL.createObjectURL(data); 
+1

'.sportsDataPlayer' n'est pas une carte d'identité. C'est un sélecteur de classe. Vous voulez dire 'document.querySelector (". SportsDataPlayer ")' - ou puisque vous utilisez jQuery, '$ (". SportsDataPlayer "). Attr (" href ", URL.createObjectURL (data))' – mplungjan

+0

Je ne vois aucune erreur –

+0

@RameshRajendran 'document.getElementById (". SportsDataPlayer ");' ne fonctionne pas. '' .sportsDataPlayer "' n'est pas un ID et ne peut être utilisé dans aucun document.getXXX – mplungjan

Répondre

1

Mise à jour:

Ja Ja J'ai mis à jour le violon, mais il est seulement une séance d'entraînement partiel (seulement le premier fichier sera téléchargé). Pour rendre le fichier téléchargeable, vous devez utiliser l'attribut download dans le tag <a>.

Et dans votre code JS, vous devrez modifier la logique en conséquence afin que l'attribut download soit appliqué à chaque nom de fichier séparément.

Essayez cette FIDDLE, il y avait juste une petite correction

Des changements ont été,

  1. var a2 = document.getElementById("sportsDataPlayer");
  2. est passé de class=\"sportsDataPlayer\" à id=\"sportsDataPlayer\"
+0

Exactement, j'essaie de poster cette réponse. Mais le problème est le violon (le vôtre aussi) ne fonctionne que la première fois :(... –

+0

@RameshRajendran désolé je n'ai pas eu ce que vous essayez de dire –

+0

merci pour votre réponse ... mais encore si je clique télécharger csv son ne pas télécharger .... pouvez-vous dire comment y remédier :( –

-1

Bug ici:var a2 = document.getElementById(".sportsDataPlayer");

Fix:var a2 = document.getElementsByClassName("sportsDataPlayer");

+0

getElementsByClassName renvoie une collection – mplungjan