避免模​​式解雇上输入按键避免模​​式解雇上输入按键(Avoid modal dismiss on

2019-05-13 18:17发布

我已经建立了内部具有形式的引导模式,我刚才注意到,当我按下回车键,模式被驳回。 有没有办法不按Enter键时关闭它?

我试图激活与键盘模态:假的,但只能防止解雇使用ESC键。

Answer 1:

我只是有这个问题了。
我的问题是,我在我的模式有一个关闭按钮

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

按在输入字段中输入导致该按钮被解雇。 我把它改成一个锚,而不是和它的作品像现在预期(进入提交表单,并不会关闭模式)。

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

没有看到你的来源,我无法证实你的原因是一样的,但。



Answer 2:

只需添加类型=“按钮”属性按钮元素,一些浏览器解释类型缺省值为提交

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Attributes

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

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


Answer 3:

我甚至从我的引导模态移除所有按钮后,有这个问题,所以没有一个解决方案在这里帮助我。

我发现,一个单一的文本字段的形式会导致浏览器做一个表单提交(并导致解雇),如果你打输入,同时键盘焦点的文本字段。 这似乎是更多的是浏览器/形式问题,而不是用什么引导。

我的解决办法是设置窗体的onsubmit属性的onsubmit =“返回false”

这可能是一个问题,如果你实际使用提交事件,但我使用的是产生AJAX请求,而不是做一个浏览器提交JS框架,所以我更喜欢完全禁止提交。 (这也意味着我不必手动调整可能引发每提交表单元素)。

这里更多的信息: 引导与单个文本输入字段模式对话框上的Enter键总是解雇



Answer 4:

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

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


Answer 5:

我有同样的问题,我解决了它

<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>


Answer 6:

我刚才也有类似的经历和我的方式解决它是不是使用一个标签,我改变了标签具有type =“按钮”的标签。 这似乎解决按下“ENTER”键,解聘自举模式的问题。



Answer 7:

我也有这个问题,我解决了这种方式。 我添加的onsubmit形成。 我也希望能够使用回车键作为保留关键,所以我说save_stuff()JavaScript来的onsubmit。 返回false; 用于防止表单提交。

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

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


文章来源: Avoid modal dismiss on enter keypress