問題は、無効なファイル拡張子と無効なファイルサイズをアップロードしたときです。それは、無効なファイルタイプとファイルサイズを警告するのではなく、2つの条件を満たす最初のファイルが何であるかによって警告します。Jquery条件が機能しない
たとえば、example.php
をアップロードし、2048を超える別のファイルをアップロードすると、無効なファイルタイプが警告されます。その後、その逆。
example.php
をアップロードし、2048を超えるファイルをアップロードした場合、出力が無効なファイルタイプとファイルサイズである必要があります。
var fileextension = new RegExp("(.*?)\.(csv|doc|docx|gif|jpeg|jpg|pdf|png|ppt|pptx|txt|xls|xlxs|zip|mp3|mp4)$");
$('input[type=file]').change(function() {
var val = $(this).val().toLowerCase();
for(var i=0; i<this.files.length; i++){
var filename = this.files[i].name.toLowerCase();
var fsize = this.files[i].size,
fsize = fsize/1024; // 1024 = 1mb
if(fsize > 2048){
$(this).val('');
swal('Opps','Invalid file size','warning');
}else if(!fileextension.test(filename)){
$(this).val('');
swal('Opps','Invalid file type','warning');
}else if(!fileextension.test(filename) && fsize > 2048){
$(this).val('');
swal('Opps','Invalid file type and file size','warning');
}
}
私はPHPファイルと2048以上のファイルをアップロードし、まだそれは正しいエラーを表示しませんここに私のコードですhttps://jsfiddle.net/ga9ht53/6/ – erinr
まあ、本当にそれを理解することはできませんあなたが与えたリンクを開こうとしましたが、それは私のために完全に働いています。もう一度確認できますか? – 31piy
atleast 1つの有効なファイル拡張子をアップロードすると、それは完全に動作し、他のファイルは、ファイルサイズが2048より大きいとすると、無効なファイルサイズを警告します。およびその逆。しかし、.phpファイルや有効なファイルのような無効なファイル拡張子を2048以上のサイズでアップロードした場合は、「無効なファイルタイプとファイルサイズ」という警告は表示されません。 – erinr