出口测试到CSV JavaScript



我试图将逗号界的字符串导出到用户单击按钮时打开的CSV。我发现了几个不同的示例,但是当我试图修改它们以满足我的需求时,CSV文件不会打开。此链接指向我的jsfiddle

<div onClick="exportToCSV('Test.csv');">Test here</div>
function exportToCSV(filename) {
   csv = "test, test1, test2, test3";
   csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);
   $(this)
    .attr({
       "download": filename,
       "href": csvData,
       "target": "_blank"
   });
}

任何帮助将不胜感激。

download属性仅存在于 a tag中。

a

尝试一下:

  1. div标签更改为a标签。
  2. 通过使用this关键字。

    exportToCSV函数中元素的引用传递给元素

    exportToCSV(this, 'Test.csv');

  3. 使用对函数中元素的引用。

function exportToCSV(me, filename) {
  var csv = "test, test1, test2, test3";
  var csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);
  $(me) // Reference to the element.
    .attr({
      "download": filename,
      "href": csvData,
      "target": "_blank"
    });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a onclick="exportToCSV(this, 'Test.csv');">Test here</a>

最新更新