0

私はこれに少しうんざりしています。

宣言とその使用の両方が同じスコープ内にあるのに、ファイルが定義されていないと言い続ける理由がわかりません。

<!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.inputtext;
            txtFile.open("GET", "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.value += s;
                            }
                        }
                    }
                }
            }
            txtfile.send();
        </script>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

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

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

編集

問題は解決しましたが、別のエラーが発生しました:

Uncaught TypeError: Cannot read property 'value' of undefined (00:27:29:739 | error, javascript) at txtFile.onreadystatechange (public_html/index.html:29:42)

4

2 に答える 2

3

スペルtxtfile.send()が であることtxtFile.send()を確認してください。f

2 番目のエラーの更新

エラーはdocument.inputtextが未定義であるためです。html 要素の入力ボックスであると想定しています。これが正しければ、入力に を与えてから で呼び出す価値があるかもしれidませinputtextvar inputarea = document.getElementById('inputtext')。ただし、これを行う場合は、スクリプト全体をwindow.onloadコールバックに入れて、スクリプトの実行時に入力がページに表示されるようにすることをお勧めします。

于 2013-05-16T22:26:38.050 に答える
0

txtFile.onreadystatechangeを呼び出す前に定義することになっていますtxtFile.open。それがあなたの問題かどうかはわかりません。

于 2013-05-16T22:27:42.687 に答える