html部分是:

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


Javascript部分是:

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


上面的代码在IE中工作正常,但在Chrome中出现错误“未捕获的TypeError:无法读取null的属性'值'”。

最佳答案

我认为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

09-25 12:57