【发布时间】:2014-02-20 18:21:30
【问题描述】:
我发生了一个非常奇怪的错误,我似乎无法弄清楚原因。自 Bootstrap 发布以来,我一直在使用它,并且非常熟悉它的工作原理。我已经设置了一个带有按钮的表单,这些按钮可以触发位于文档底部的模式。当您单击触发模式的按钮时,它会打开模式,但会刷新将表单元素/值附加到 URL 的页面,就好像它正在使用 GET 方法提交表单一样。刷新页面时,模式不再打开,并且 URL 具有查询中的所有表单值。我一生都无法弄清楚为什么会这样。模态应该打开并且页面应该保持不受影响(除了模态打开)
以下是表单元素和模式按钮的 HTML:
<div class='form-group'>
<label class='control-label' for='store-name'>
Store Name:
</label>
<div class='controls'>
<input type='text' class='form-control' id='store-name' name='store-name'>
<button class='btn btn-default' data-toggle='modal' data-target="#storeName">Lookup</button>
</div>
</div>
这是模态本身的 HTML:
<!-- Store Name Modal -->
<div class="modal fade" id="storeName" tabindex="-1" role="dialog" aria-labelledby="storeName" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Stores</h4>
</div>
<div class="modal-body">
<!-- Modal Content -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save</button>
</div>
</div>
</div>
</div>
所有脚本/样式都包括在内,因为模态实际上是打开的,它只是在打开时重定向页面。有没有人遇到过这样的错误或知道是什么原因造成的?
【问题讨论】:
-
该按钮是否用于在表单中启动模式?如果是这样,它将充当提交按钮并提交表单。您可以将其更改为锚标记,以获得完全相同的外观和感觉,而无需提交表单。或者编写一些 javascript 来让按钮单击事件 preventDefault()。
-
哇。那行得通。如果按钮类型不是
submit,为什么要尝试提交表单?如果您想将此作为答案发布,我将很乐意接受。
标签: jquery twitter-bootstrap modal-dialog twitter-bootstrap-3 bootstrap-modal