Javascript &引用;未捕获引用错误:未定义txtfile";

Javascript &引用;未捕获引用错误:未定义txtfile";,javascript,ajax,html,Javascript,Ajax,Html,我对此有点厌倦了 我不知道为什么它总是告诉我这个文件没有定义,因为它的声明和用法都在同一个范围内 <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.4/mootools-yui-compressed.js"></script>

我对此有点厌倦了

我不知道为什么它总是告诉我这个文件没有定义,因为它的声明和用法都在同一个范围内

<!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>

var txtFile=new XMLHttpRequest();
var inputarea=document.inputtext;
打开(“GET”,“start.txt”,true);
txtFile.onreadystatechange=函数(){
//确保文档已准备好进行分析。
if(txtFile.readyState==4){
//确保找到文件。
如果(txtFile.status==200){
allText=txtFile.responseText;
//将每行分隔成一个数组
lines=txtFile.responseText.split(“\n”);
对于(i=0;i-1){
//电话线在那里
}否则{
//电话线不在那里
inputarea.value+=s;
}
}
}
}
}
txtfile.send();
TODO写入内容
编辑

问题已解决,但我现在遇到另一个错误:

uncaughttypeerror:无法读取未定义的属性“value”(00:27:29:739 | error,javascript)

在txtFile.onreadystatechange(public_html/index.html:29:42)

检查拼写
txtFile.send()
应该是
txtFile.send()
,注意
f

第二个错误的更新


错误是因为
document.inputtext
未定义,我假设它是一个html元素输入框。如果这是正确的,那么给输入一个
inputtext
id
,然后用
var-inputrea=document.getElementById('inputtext')
调用它可能是值得的。尽管您要这样做,但还是值得将整个脚本放在
窗口中。onload
回调,以便在脚本运行时将输入显示在页面上。

检查拼写
txtfile.send()
应为
txtfile.send()
,注意
f

第二个错误的更新



错误是因为
document.inputtext
未定义,我假设它是一个html元素输入框。如果这是正确的,那么给输入一个
inputtext
id
,然后用
var-inputrea=document.getElementById('inputtext')
调用它可能是值得的。尽管您要这样做,但还是值得将整个脚本放在
窗口中。onload
回调,以便在脚本运行时输入显示在页面上。

在调用
txtFile.open
之前,您应该定义
txtFile.onreadystatechange
。但不确定这是否是您的问题。

在调用
txtFile.open
之前,您应该定义
txtFile.onreadystatechange
。但不确定这是否是您的问题。

错误在哪一行?我认为这可能有帮助[xmlhttp是未定义的javascript ajax][1][1]:错误在哪一行?我认为这可能有帮助[xmlhttp是未定义的javascript ajax][1][1]:我是个白痴。非常感谢。但现在我得到了一个新的错误。我会更新OP。你认为哪一个最容易。。?我对这一切都很陌生,但我有其他语言(C#和Java)的经验。正如你所说,我给了它一个ID,然后将整个东西移到身体中。做回调可能会很聪明,但我对这一点很陌生,所以我不知道怎么做。要将它放在window onload回调中,我会把它放在头上,但将代码包装在window.onload=function(){}中。这样,当脚本运行时,元素应该存在。谢谢你的帮助:)我是个白痴。非常感谢。但现在我得到了一个新的错误。我会更新OP。你认为哪一个最容易。。?我对这一切都很陌生,但我有其他语言(C#和Java)的经验。正如你所说,我给了它一个ID,然后将整个东西移到身体中。做回调可能会很聪明,但我对这一点很陌生,所以我不知道怎么做。要将它放在window onload回调中,我会把它放在头上,但将代码包装在window.onload=function(){}中。这样,当脚本运行时,元素应该出现。感谢您的帮助:)您“应该”在.send()之前分配它,而不是.open(),但我发现这其实并不重要,我有过同样的经历。我看到人们都这么说。我总是在打开事件处理程序之前声明它只是为了安全,但和你一样,我从来没有注意到有什么不同。有趣的是,jQuery在调用
.send()之后设置
onreadystatechange
。当我在源代码中看到你以前“应该”分配它时,我很困惑。send(),而不是.open(),但我发现这其实并不重要。我有过同样的经历。我看到人们都这么说。我总是在打开事件处理程序之前声明它只是为了安全,但和你一样,我从来没有注意到有什么不同。有趣的是,jQuery在调用
.send()之后设置
onreadystatechange
。当我在源代码中看到这一点时,我感到困惑