我正在寻找帮助w /脚本,允许用户通过点击我的"导出"来自文本区域下载输出(通过提示他们保存它)。按钮。
<textarea id="output" class="form-control text-box noresize" rows="4" placeholder="OUTPUT">
</textarea>
最近我得到了答案如下,但很明显它创建了一个文件,而不是使用我的输出:
var a = window.document.createElement('a');
a.href = window.URL.createObjectURL(new Blob(['Test,Text'], {type: 'text/csv'}));
a.download = 'test.csv';
// Append anchor to body.
document.body.appendChild(a)
a.click();
// Remove anchor from body
document.body.removeChild(a)
任何帮助都会非常赞赏。
答案 0 :(得分:2)
使用您的方法,只需将textarea的值传递给createObjectURL函数。
<textarea id="output" class="form-control text-box noresize" rows="4" placeholder="This text will be downloaded as a file.">
</textarea>
<br>
<button id="download">Download</button>
<script>
document.getElementById('download').addEventListener("click", download);
function download(){
var text = document.getElementById('output');
var a = window.document.createElement('a');
a.href = window.URL.createObjectURL(new Blob([text.value], {type: 'text/plain'}));
a.download = 'test.txt';
document.body.appendChild(a)
a.click();
document.body.removeChild(a)
}
</script>
答案 1 :(得分:1)
试试这个:
var txt = document.getElementById('content').value;
document.getElementById('link').onclick = function(){
this.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(txt);
};
document.getElementById('content').onchange = function(){
txt = document.getElementById('content').value;
};
&#13;
<body>
<div>
<textarea id="content">Hello World</textarea>
</div>
<a href="" id="link" download="content.txt">Download</a>
</body>
&#13;