我在Bootstrap 3中有一个modal,我想从用户那里得到一个文件。我的问题是当用户选择了这个文件,但它加载失败,关闭了modal,然后再次打开它,以前的文件仍然存在。我如何在用onclick打开modal的函数中删除这个文件?
<button class="pointer" onclick="return contractUpload('${ml.getId()}')"><a>upload contract</a></button>
<div class="modal fade" id="contractModal">
<div class="container">
<div class="modal-dialog" style="margin-top: 15%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">contract modal <span id="mId2"></span></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label">select file :</label>
<label class="btn btn-success">
<input type="file" id="contractFile" accept="application/pdf">
<i class="fa fa-cloud-upload"></i>
<span id="browse">choose :</span>
</label>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success pull-left" data-dismiss="modal">upload</button>
</div>
</div>
</div>
</div>
</div>
<script>
function contractUpload(mId) {
$('#contractModal').modal();
document.getElementById("mId2").innerHTML = mId;
}
</script>
我使用了下面的代码,但它不工作:
document.getElementById("contractFile").value = "";
1条答案
按热度按时间0pizxfdo1#
您可能希望在隐藏模态之后重置
#contractFile
元素的值,这可以通过简单地侦听hidden.bs.modal
事件来完成,即:当然,如果你想在模态完全隐藏之前重置输入,那么就听
hide.bs.modal
,尽管这会创建一个奇怪的UI/UX,因为当模态淡出时字段会被重置。请参见下面的概念验证示例:
x一个一个一个一个x一个一个二个x