我有这段代码:
<div class="clip-upload">
<label for="file-input">
<i class="fa fa-paperclip fa-lg" aria-hidden="true"></i>
</label>
<input type="file" name="file-input" id="file-input">
</div>
使用CSS:
.clip-upload > input
{
display: none;
}
因此它只是显示为上传文件按钮的回形针图标。
我有两个问题:
答案 0 :(得分:1)
您可能必须使用lil jQuery(也可以在vanilla JS中完成)使用另一个元素来包含文件名
注意:附加名称实际上不会以这种方式提交我将留给您。
$(document).ready(function() {
$('.file-input').change(function() {
$file = $(this).val();
$file = $file.replace(/.*[\/\\]/, ''); //grab only the file name not the path
$('.filename-container').append("<span class='filename'>" + $file + "</span>").show();
})
})
.rounded {
height: 30px;
border-radius: 4px;
padding: 4px;
}
.in1 {
width: 120px;
}
.in2 {
width: 350px;
}
i {
margin: 0 8px;
}
.filename-container {
margin: 20px 20px 0 0;
}
.filename {
display: inline-block;
padding: 0 10px;
margin-right: 10px;
background-color: #ccc;
border: 1px solid black;
border-radius: 15px;
height: 20px;
line-height: 20px;
text-align: center;
font-weight: 700;
font-size: 12px;
font-family: 'verdana', sans-serif;
}
.hide {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<div class="clip-upload">
<input class="rounded in1" value="other input" /> <input class="rounded in2" value="other input larger" />
<label for="file-input">
<i class="fa fa-paperclip fa-lg" aria-hidden="true"></i>
</label> <i class="fa fa-play fa-lg"></i>
<input type="file" class="file-input hide" name="file-input" id="file-input">
<div class="filename-container hide"></div>
</div>
答案 1 :(得分:-1)
图像将使用DXImageTransform过滤器CSS属性和HTML5 FileReader API直接从HTML输入FileUpload显示。
Please check this https://jsfiddle.net/jaanhaitojahanhai/7zadcqy7