我发生了一个非常奇怪的错误,我似乎无法弄清楚为什么。自从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>
包括所有脚本/样式,因为该模式实际上确实是打开的,当它打开时它只会重定向页面。有没有人遇到过这样的错误或有什么可能的原因?
如果您<button>
在表单内部,则HTML会将其解释为提交按钮。您的页面正在重新加载,因为该按钮实际上是每次单击都提交表单。
解决此问题的第一个选择是创建一个捕获事件并阻止其提交的函数。如果发件人内部有多个按钮,这可能会令人头疼。
从Bootstrap角度看,最简单的方法是将更<button class='btn'>
改为<a class='btn'>
。引导程序以相同的方式设置样式,因此您可以互换使用它们。这样做的好处是,当您单击锚标记时,它不会提交您的表单。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句