无法从txt文件追加字符串

时间:2013-05-16 21:49:38

标签: javascript ajax html5

我正在尝试读取名为start.txt的本地文件

如果我到达第一行为nextpage的点,它会做一些事情,但如果不是,它会附加到textarea。但是它给了我一个错误:

Uncaught TypeError: Cannot read property 'inputtext' of undefined (23:44:44:520 | error, javascript) at (public_html/index.html:12:50)

我尝试阅读的文件与index.html文件位于同一文件夹中。我是HTML,AJAX和JavaScript的新手,所以我可能只是不知道我正在做什么!

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.4/mootools-yui-compressed.js"></script>
        <script type="text/javascript">
            var txtFile = new XMLHttpRequest();
            var inputarea = document.textareaform.inputtext.value;
            txtFile.open("GET", "http://localhost/start.txt", true);
            txtFile.onreadystatechange = function() {
                // Makes sure the document is ready to parse.
                if(txtFile.readyState === 4) {
                    // Makes sure it's found the file.
                    if(txtFile.status === 200) {
                        allText = txtFile.responseText;
                        // Will separate each line into an array
                        lines = txtFile.responseText.split("\n");
                        for(i = 0; i < lines.length; i++) {
                            var s = lines[i];
                            if(s.indexOf("nextpage") > -1) {
                                // Line is there

                            } else {
                                // Line is not there
                                inputarea += s;
                            }
                        }
                    }
                }
            };
            txtfile.send(null);
        </script>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    </head>
    <body>
        <form name="textareaform">
            <textarea name="fileoutput" rows="4" cols="20" readonly="readonly">

            </textarea>
        </form>

        <div>TODO write content</div>
    </body>
</html>

2 个答案:

答案 0 :(得分:1)

它正在寻找名为“inputtext”的textarea,并将其命名为“fileoutput”。

尝试将textarea重命名为“inputtext”:

<textarea name="inputtext" rows="4" cols="20" readonly="readonly"></textarea>

以不同方式定义您的变量:

var inputarea = document.textareaform.fileoutput.value;

答案 1 :(得分:0)

将var输入区域声明更改为此。

var inputArea = document.getElementsByName('fileoutput');

希望这有帮助。