13

The W3C validator says: "Attribute size not allowed on element input at this point."

<input type="file" name="foo" size="40" />

What is the correct way to specify the width of a file input in HTML5?

4

3 回答 3

12

In the input field use the style attribute, this allow you to use css.

<input type="file" name="foo" style="width: 40px" />

Or with separate css:

input[name="foo"] {
  width: 40px;
}
于 2012-11-12T09:07:20.530 回答
5

In your css file, specify the width as such:

input[type=file] { width: 300px; border: 2px solid red; }

http://jsfiddle.net/VbTAV/

于 2012-11-12T09:06:10.367 回答
-2
<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>

http://jsfiddle.net/9bhcB/2/

于 2012-11-12T09:01:48.350 回答