提问者:小点点

从本地加载文本。使用JavaScript将txt文件转换为html文本区域


我有一个


共2个答案

匿名用户

可以使用File和FileReader对象读取本地文件。

您可以使用type="file"的输入元素来允许用户选择文件。

<input id="myFile" type="file"/>
<textarea id="myTextArea" rows="4" columns="20"></textArea>

用户选择文件后,可以从输入元素获取文件对象。例如

var file = document.getElementById("myFile").files[0];

然后可以使用FileReader对象将文件读入文本区域。例如

var reader = new FileReader();
reader.onload = function (e) {
    var textArea = document.getElementById("myTextArea");
    textArea.value = e.target.result;
};
reader.readAsText(file);

匿名用户

我发现了一个老话题:如何将文本文件的内容加载到javascript变量中?

你已经看过最后的答案了吗?这适用于div而不是文本框,但是您可以稍微修改代码。

在最后一篇评论文章的最后一段中,您可以更改这一行:

document.getElementById("id01").innerHTML = out;

致:

document.getElementById("textbox01").innerHTML = out;

在你的超文本标记语言中:

<textarea name="textbox01">Enter text here...</textarea>

结果:

function loadFile() {
    var xmlhttp = new XMLHttpRequest();
    var url = "file.txt";

    xmlhttp.onreadystatechange = function() {

        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var myArr = JSON.parse(xmlhttp.responseText);
            myFunction(myArr);

            console.log("xmlhttp Request Asepted");
        }


    }

        xmlhttp.open("GET", url, true);
        xmlhttp.send();


        function myFunction(arr) {
            var out = "";
            var i;
            var row = 0;

        for(i = 0; i < arr.length; i++) {
           // console.log( arr[1].data); change data to what every you have in  your file
           // out +=  arr[i].data + '<br>' + arr[i].data2 ;
            document.getElementById("textbox01").innerHTML = out;

        }

    }
}

相关问题