IE以外(IE10は動作)でアップロードファイルのサイズを制限する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
$(function(){ $(".file1").change(function () { $("label.lblSize1").remove(); $("input.fileover1").remove(); var iSize1 = ($(".file1")[0].files[0].size / 1024); iSize1 = (Math.round(iSize1 * 100) / 100) $(this).parent().append("<label class='lblSize1'>" + iSize1 + "kb</label>") if(iSize1 > 1024) { $(this).parent().append("<input type='hidden' name='file' value='true' class='fileover1 validate margin0'>") } }); $(".file2").change(function () { $("label.lblSize2").remove(); $("input.fileover2").remove(); var iSize2 = ($(".file2")[0].files[0].size / 1024); iSize2 = (Math.round(iSize2 * 100) / 100) $(this).parent().append("<label class='lblSize2'>" + iSize2 + "kb</label>") if(iSize2 > 1024) { $(this).parent().append("<input type='hidden' name='file' value='true' class='fileover2 validate margin0'>") } }); $("input.confirm").click(function(e){ //エラーの初期化 $("p.error").remove(); //fileover check for(i = 1; i <= 2; i++) { $(this).filter(".fileover" + i).each(function(){ if($(this).val()=="true"){ $(this).parent().after("<p class='error margin1'>ファイルサイズの上限(1MB)を超えています。</p>") } }) } }); }); |
1 2 3 |
<p><input type="file" name="file[]" class="file1"></p> <p><input type="file" name="file[]" class="file2"></p> <p class="btn"><input class="center confirm" type="submit" value="送信内容を確認する"></p> |