W3Cバリデーターは、「この時点では、要素入力で属性サイズを許可していません」と述べています。
<input type="file" name="foo" size="40" />
HTML5で入力されたファイルの幅を指定する正しい方法は何ですか?
入力フィールドで style 属性を使用すると、css を使用できるようになります。
<input type="file" name="foo" style="width: 40px" />
または別のCSSで:
input[name="foo"] {
width: 40px;
}
cssファイルで、幅を次のように指定します。
input[type=file] { width: 300px; border: 2px solid red; }
<form class="upload-form">
<input class="upload-file" data-max-size="2048" type="file" >
<input type=submit>
</form>
<script>
$(function(){
var fileInput = $('.upload-file');
var maxSize = fileInput.data('max-size');
$('.upload-form').submit(function(e){
if(fileInput.get(0).files.length){
var fileSize = fileInput.get(0).files[0].size; // in bytes
if(fileSize>maxSize){
alert('file size is more then' + maxSize + ' bytes');
return false;
}else{
alert('file size is correct- '+fileSize+' bytes');
}
}else{
alert('choose file, please');
return false;
}
});
});
</script>