【问题标题】:Javascript undefined error in Internet ExplorerInternet Explorer 中的 Javascript 未定义错误
【发布时间】:2014-12-17 06:06:13
【问题描述】:

我使用了动态 FileUpload 控件。我还应用了两个验证,首先,检查是否没有上传文件,其次,检查正在上传的文件的大小是否大于 10 mb。代码工作正常在除 IE 之外的所有浏览器中。在 IE 中它会引发错误。

SCRIPT5007:无法获取未定义或空引用的属性“长度”

我已经实现的代码:

fieldValid = document.getElementById(AllfldID1[x]);
if (fieldValid.files.length != 0) { //to check if file uploaded or not
    var iSize = (fieldValid.files[0].size / 1024);
    iSize = (Math.round((iSize / 1024) * 100) / 100);  //Size in MB
    if (iSize > 10) {
        alert("Maximum File Size Limit is 10 MB for Field " + AllfldName1[x]);
    }
}

在其他浏览器(Firefox)中,如果没有上传文件,则长度返回为“0”,但在 IE 中这不起作用。

请指教。

【问题讨论】:

    标签: javascript c#-4.0 file-upload


    【解决方案1】:

    在 Internet Explorer 的开发者控制台中输入

    document.getElementById(AllfldID1[x])
    

    然后您将能够看到与该对象相关的所有属性。 Firefox、Chrome、IE 对不同的属性有不同的命名约定。在 IE 开发人员控制台中键入此内容后,您将看到同一对象的对象和相关属性。

    我可以假设的问题是

    fieldValid.files
    

    如果不返回所有文件,因为 fieldValid 在 IE 中没有属性文件。

    【讨论】:

    • 是的,在 IE 中没有 fieldValid 的文件属性。那么我该如何检查或者您是否可以告诉我我可以使用哪个其他属性来检查是否上传了任何文件。如果上传了,那么什么文件大小是多少?
    • 在控制台的对象中,您可以找到 DOM 元素在 IE 中具有的所有属性。从那里您可以获得所需的属性。
    猜你喜欢
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 2012-04-21
    • 2010-10-09
    • 2013-04-28
    • 1970-01-01
    相关资源
    最近更新 更多