开发者问题收集

未捕获的类型错误:无法读取 null 的属性“值”-Chrome 中的错误

2016-09-14
2178

html 部分为:

<html:file property="claimUploadFile" id="claimUploadFile" size="50" />

Javascript 部分为:

if(document.getElementById("claimUploadFile").value == ""){
            var messagePrompt = 'Some message';   
            alert(messagePrompt);
            return;
        }

上述代码在 IE 中运行良好,但在 Chrome 中出现错误“Uncaught TypeError:无法读取 null 的属性‘value’”。

1个回答

我认为 html:file 是错误的,并且您的代码中没有函数,因此您不能使用 return 语句

    <form name="fileUpload">
       <input type="file" name="claimUploadFile" value="claimUploadFile" id="claimUploadFile">
    </form>

Js 部分

   var file = document.forms['fileUpload']['claimUploadFile'].files[0];
     //file.name == "somepic.png"
     //file.type == "image/png"
     //file.size == 254845

    if(file == undefined){
        var messagePrompt = 'Some message';   
        alert(messagePrompt);
    }

或者

document.getElementById('claimUploadFile').files[0]   // Does the same work

查看演示: https://jsbin.com/rodano/4/edit?html,js,console,output

KrishCdbry
2016-09-14