输入类型文件在Bootstrap模式中不起作用

时间:2013-04-25 19:57:27

标签: html5 twitter-bootstrap

这非常奇怪。我有一个基本的Bootstrap模式,没有花哨的东西,input type=file内部没有工作。单击它时,没有任何反应。如果文件输入移到模态之外并移到页面上,则没有问题。

以下是参考的模态代码:

<div id="addImageModal" class="modal hide fade" data-toggle="modal">
<div class="modal-header">
  <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
    x
  </button>
  <h4>Add Drawing Image</h4>
</div>
<div class="modal-body">
  <div class="form-horizontal">
    <div class="control-group">
      <label class="control-label" for="inputDisplayName">Display Name</label>
      <div class="controls">
        <input id="inputDisplayName" type="text" placeholder="">
      </div>
    </div>
    <div class="control-group">
      <div id="previewImage"></div>
    </div>
    <div class="control-group">
      <input type="file" name="files[]" multiple="">
    </div>
  </div>
</div>
<div class="modal-footer">
  <a href="#" data-dismiss="modal" class="btn">Cancel</a>
  <a href="#" class="btn btn-primary btnUploadImage">Upload</a>
</div>
</div>

真奇怪的问题。有什么想法吗?

编辑:它是Bootstrap 2.3.1,我尝试在输入上设置z-index以获得它的乐趣,但它没有任何区别。

2 个答案:

答案 0 :(得分:6)

从容器div中删除data-toggle="modal"

此属性应仅位于用于启动模式的buttona标记中。

答案 1 :(得分:0)

我知道这个问题真的很老但我认为我应该分享这样一个事实:触发按钮和模态标记也不能包含在同一个div中。模态标记必须位于包含触发按钮的div之外。我搜索了很长时间以找到处理这个问题的人,所以感谢发布它,因为它帮助我实现了这个问题的另一个方面。