我正在上传一个portlet中的图片,并检查了图像的大小 - 如果大于5MB它应该显示警告但在IE(正好是IE9)它没有显示警告,但是给我一个错误 -
SCRIPT5007:无法获取属性“0”的值:object为null或 未定义
代码
<script type="text/javascript" >
function _ImageUploadService_WAR_ImageUploadServiceportlet_initEditor() {
//if you dont wnat the default text you can remove.
return '';
}
function submitForm() {
if( $("#_ImageUploadService_WAR_ImageUploadServiceportlet_Picture").val() == ""){
alert("Please check, You have not Filled Required Field!!");
}else{
var result = confirm("Are you Sure?");
if (result == true) {
document._ImageUploadService_WAR_ImageUploadServiceportlet_photoGallery.submit();
} else {
return false;
}
}
}
function checkSize(e){
var val = document.getElementById(e);
var sizeInMB = (val.files[0].size / (1024*1024)).toFixed(2);
if(sizeInMB > 5){
alert("Attachment Size Exceeds The Allowable Limit!!");
$("#"+e).val("");
}
}
</script>
答案 0 :(得分:0)
问题是Internet Explorer 9及更低版本不支持File API。如果File API不可用,您应该跳过。
尝试这种方式:
if(val.files) {
var sizeInMB = (val.files[0].size / (1024*1024)).toFixed(2);
if(sizeInMB > 5){
alert("Attachment Size Exceeds The Allowable Limit!!");
$("#"+e).val("");
}
}