导出html格式的.txt文件,然后再导入

导出html格式的.txt文件,然后再导入,html,Html,因此,我正在创建一个网站,我需要使用它的一个核心功能,就是让网页导出一个普通的.txt文件,其中包含我拥有的表单中的所有内容。 一旦成功,我还需要弄清楚如何将相同的文件导入网站,并让它自动填充文本框 我该怎么做呢?你的问题有点宽泛,没有显示出你在研究方面的努力。这是一个很好的形式,当你遇到问题时,可以尝试一下,然后到这里来,而不仅仅是让我们帮你解决问题。尽管如此,我还是会给你一些建议 我最近要求制作一个按钮来下载一个div的内容。我制作了一个按钮以备将来参考。你可以根据你的目的来调整它 基本上,

因此,我正在创建一个网站,我需要使用它的一个核心功能,就是让网页导出一个普通的.txt文件,其中包含我拥有的表单中的所有内容。
一旦成功,我还需要弄清楚如何将相同的文件导入网站,并让它自动填充文本框


我该怎么做呢?

你的问题有点宽泛,没有显示出你在研究方面的努力。这是一个很好的形式,当你遇到问题时,可以尝试一下,然后到这里来,而不仅仅是让我们帮你解决问题。尽管如此,我还是会给你一些建议

我最近要求制作一个按钮来下载一个div的内容。我制作了一个按钮以备将来参考。你可以根据你的目的来调整它

基本上,我所做的是为标记为“下载”的HTML按钮分配一个单击处理程序。单击按钮时,我在页面上创建一个临时锚元素,并将其
href
设置为div的内容,然后以编程方式单击锚以触发下载,最后从页面中删除临时锚。Internet Explorer有一个使用不同方法的备用方法。不久前,我根据SO的答案改编了这段代码

var downloadButton = document.getElementById('downloadButton');
downloadButton.addEventListener('click', function () {

//get the contents of the div
var contents = document.getElementById('someDiv').innerHTML;

    if (contents.length = 0) {
        return;
    }

    var filename = 'some-filename.txt';

    if (navigator.msSaveBlob) { // IE
        navigator.msSaveBlob(new Blob([contents], { type: 'text/plain;charset=utf-8;' }), filename);
    } else {
        var link = document.createElement('a');
        link.setAttribute('download', filename);
        link.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(contents));
        document.body.append(link);
        link.click();
        document.body.removeChild(link);
    }
});
至于你的下一个要求,上传文件和导入数据,我将引导你到

我刚刚尝试了一个快速文件上传程序,我让它将文件内容转储到控制台。相反,您可以根据需要解析文件内容并将数据添加回表单元素。以下是我的测试代码:

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>Test Page</title>

    <script>
        function handleFileSelect(evt) {
            var files = evt.target.files; // FileList object

            // Loop through the FileList
            for (var i = 0; i < files.length; i++) {

                var reader = new FileReader();

                // when the file has been read, print the contents to the console
                reader.onloadend = function (evt) {
                    if (evt.target.readyState == FileReader.DONE) {
                        console.log(evt.target.result);
                    }
                };

                var text = reader.readAsText(files[i]);
            }
        }

        document.addEventListener('DOMContentLoaded', function () {
            document.getElementById('files').addEventListener('change', handleFileSelect, false);
        });

    </script>

</head>

<body>

    <input type="file" id="files" name="files[]" multiple />

</body>

</html>

测试页
功能手柄文件选择(evt){
var files=evt.target.files;//文件列表对象
//循环浏览文件列表
对于(var i=0;i
所以我让您的“保存”代码正常工作,但它似乎是在表单中导出html代码,而不是在所述表单中导出文本框的内容。不管怎样,谢谢你的帮助,我会尽量减少我下一个问题的含糊。好的,你将不得不使用
var contents=document.getElementById('someDiv').innerHTML
以使其获得所需的元素,并且您可能必须将多个表单元素的值编码为一个字符串,以便在将其重新导入时进行解码。这就是所谓的“要点”!