0

スクリプトを使用して、選択したファイルのファイルサイズを確認しています。ファイルがサイズ制限を超えている場合は、ファイルのアップロードの内容をクリアしたいと思います:

var myFile = document.getElementById('attach');
myFile.addEventListener('change', function () {
 var size = this.files[0].size;
 if(size>10000000){
 showDialog('File exceeded maximum allowed limit of 10 Mb', 'File Size Exceeds');
 clear('new');
}

});

クリア関数は次のとおりです。

 <script>
  function clear(tagId) {
  document.getElementById(tagId).innerHTML = 
  document.getElementById(tagId).innerHTML;
  }
 </script>

HTML入力制御コードは

  <div id="new">
  <input type="file" name="attach[]" id="attach" size="30"
  onchange="document.getElementById('moreUploadsLink').style.display = 'block';" />
  </div>

問題は、コンテンツがクリアされないことです。初めてクリアした場合、ファイル サイズが超過し、ユーザーが何度も選択を変更すると、コンテンツがクリアされません。何らかの論理エラーが発生している可能性があります

4

1 に答える 1

0

div の内容をクリアする場合は、次のようにします。


myFile.addEventListener('change', function () {
 var size = this.files[0].size;
 if(size>10000000){
   showDialog('File exceeded maximum allowed limit of 10 Mb', 'File Size Exceeds');   
 }
 clear('new'); //place it out of if , if you want to clear everytime
});

function clear(tagId) {
  document.getElementById(tagId).innerHTML = "";
}

こんな感じでしたか..

于 2012-04-05T12:01:37.660 に答える