我的jquery doc ready函数无法识别外部js文件函数?

时间:2013-03-02 06:56:03

标签: javascript jquery file external document-ready

当我将它们放在与HTML内容相同的页面上时,我创建了几个正常工作的函数,但由于开始有这么多函数,我决定将它们移动到.js文件中。现在无法调用初始函数。

IE8说该功能不存在。我已确认链接正确并确认js文件正在加载。我甚至将初始化的触发事件链接到一个按钮(使用loadFile类),因此我可以手动触发它以确保它不是加载的时间。我在这里做错了什么?

以下是外部脚本和doc ready的链接:

//This is how we must reference external files in our configuration, 
//but this is correct, and I am certain this is not the problem.
<script src="<#=getManagedWebFileRelativePath('docAttachmentIE8.js') #>"></script>

<script type="text/javascript">
    $(document).ready(function(){          
        $('.loadFile').click(function() {                   
            initializeDocAttachments(); 
        });
    }); // END DOC Ready           
</script>

以下是我的js文件摘录:

function initializeDocAttachments() {
    //for IE8 load this form
    var docFormHTML = "<form method='POST' id='frmUploadDoc' enctype='multipart/form-data' action=''>\
                       <input type='file' name='data' onchange='handleFileSelect(this);' id='filesInput'>&nbsp;&nbsp; Upload a file</form>";
    document.getElementById('docAttachmentControl').innerHTML = docFormHTML;               
    docLoadDocs();
}   

2 个答案:

答案 0 :(得分:0)

当我把代码放在这个小提琴中时,你所拥有的是有意义和有用的:http://jsfiddle.net/3PtuH/1

您收到的确切错误消息是什么? IS IE8是否说initializeDocAttachments()函数不存在?它是否有可能说内部docLoadDocs()函数可能不存在?

答案 1 :(得分:0)

如果没有看到如何构建页面其余部分的完整上下文,则很难完全诊断。

我要检查的事情是确保在上面的任何代码之前你被称为jquery.js,否则它不会设置你所追求的任何事件。您是否尝试过使用firebug并检查控制台是否报告任何其他JavaScript错误。

你说你的配置需要你以一种不寻常的方式调用外部JS文件 - 我假设文件在某种程度上被解析然后将其转换为普通链接?如果是这样,之后HTML会是什么样子?