避免在输入按键时模态解除

我已经设置了一个引导模式,其中包含一个表单,我刚刚注意到,当我按下 Enter 键时,模式将被解除。 Is there a way not to dismiss it when pressing Enter?

我尝试用键盘激活模式: false,但这只能防止用 ESC 键解雇。

64395 次浏览

我也有这个问题。
我的问题是,我有一个关闭按钮在我的模态

<button class="close" data-dismiss="modal">&times;</button>

按输入栏中的回车键会触发这个按钮。我将它改为锚,现在它按预期工作(输入提交表单,不关闭模式)。

<a class="close" data-dismiss="modal">&times;</a>

没有看到你的消息来源,我不能确定你们的目的是否一致。

您可以把登录按钮之前的取消按钮,这将解决问题,你也有。

<div class="modal-footer">
<button type="submit" class="btn primary">Login</button>
<button type="submit" class="btn" data-dismiss="modal">Cancel</button>
</div>

Just add the Type = “按钮” attribute to the button element, some browsers interpret the type as 服从 by default.

Https://developer.mozilla.org/en-us/docs/web/html/element/button#attributes

这适用于模式中的所有按钮。

<button type="button" class="close" data-dismiss="modal">×</button>

我有这个问题,即使删除所有按钮从我的自举模态,所以没有解决方案在这里帮助我。

我发现,如果键盘的焦点在文本字段上,而您按下 Enter 键,那么只有一个文本字段的表单将导致浏览器执行表单提交(并导致解散)。这似乎是一个浏览器/表单问题,而不是 Bootstrap 的任何问题。

我的解决方案是将表单的 onsubit 属性设置为 oncommit = “ return false”

如果您实际上使用的是提交事件,那么这可能是一个问题,但是我使用的是生成 AJAX 请求的 JS 框架,而不是浏览器提交,所以我倾向于完全禁用提交。(这也意味着我不必手动调整每个可能触发提交的表单元素)。

更多信息请点击: 带有单个文本输入字段的 Bootstrap 模式对话框总是在 Enter 键上关闭

我也有这个问题,我用这种方法解决了。我在表格中添加了一项。我还希望能够使用输入键作为保存键,所以我将 save _ stuff () javascript 添加到 oncommit 中。返回 false; 用于阻止表单提交。

<form onsubmit="save_stuff(); return false;">
...
</form>


<script>
function save_stuff(){
//Saving stuff
}
</script>

I had a similar experience just now and the way I solved it was instead of using a tag, I changed the tag to an tag with type="button". This seemed to solve the problem of pressing the "enter" key and dismissing the bootstrap modal.

我也有同样的问题,我用

<form onsubmit="return false;">

但还有一个解决方案,你可以添加虚拟的不可见输入,所以你的表单看起来像这样:

<form role="form" method="post" action="submitform.php">
<input type="text" id="name" name="name" >
<input type="text" style="display: none;">
</form>