Javascript popover中的表单不起作用
我正在使用bootstrap,我想在popover中创建一个表单。我已经这样做了,但我不能在表单的文本字段中键入。有人知道为什么吗 *更新它在模式中。在模态外部它工作,但在内部它不工作 *更新2我想差不多了。当我打开modal和popover时,我无法键入文本字段。关闭模式后,popover仍处于打开状态,然后我可以键入文本字段。因此,文本字段和弹出窗口之间必须有一些z索引。真的很邋遢,但我尝试了Javascript popover中的表单不起作用,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我正在使用bootstrap,我想在popover中创建一个表单。我已经这样做了,但我不能在表单的文本字段中键入。有人知道为什么吗 *更新它在模式中。在模态外部它工作,但在内部它不工作 *更新2我想差不多了。当我打开modal和popover时,我无法键入文本字段。关闭模式后,popover仍处于打开状态,然后我可以键入文本字段。因此,文本字段和弹出窗口之间必须有一些z索引。真的很邋遢,但我尝试了输入{z-index:9999;}但没有成功 <a href="#" class="add_n
输入{z-index:9999;}
但没有成功
<a href="#" class="add_nr" data-nummer-id="nr_1" rel="popover">
<div id="add_number" class="popover">
<div class="addnr" id="nr_1">
<form class="form-inline">
<div class="controls">
<input type="text" placeholder="Artist">
</div>
<div class="controls">
<input type="text" placeholder="Number">
</div>
<a href="#">cancel</a>
<button type="submit" class="btn">add number</button>
</form>
</div>
</div>
$(function(){
$('.add_nr').on('click', function(event){
var $this = $(this);
event.preventDefault();
$('.add_nr').not($this).popover('hide');
$this.popover('show');
}).popover({
trigger: 'manual',
placement: 'bottom',
content: function(e) {
var $this = $(this),
nr_id = $this.data('nummer-id');
return $('#' + nr_id + '.addnr').html();
}
})
});
加号
$(函数(){
$('.add_n')。在('click',函数(事件){
var$this=$(this);
event.preventDefault();
$('.add_nr')。不($this.popover('hide');
$this.popover('show');
})波弗先生({
触发器:“手动”,
位置:'底部',
内容:职能(e){
变量$this=$(this),
nr_id=$this.data('numer-id');
返回$(“#”+nr_id+”.addnr').html();
}
})
});
启动模式时,它会将焦点保持在自身上,防止表单中的元素获得焦点。一个简单的解决方法是在模式启动时禁用侦听器:
$('body').on('shown','.modal', function() {
$(document).off('focusin.modal')
});
对于出现此问题的任何人(具有不工作模态的窗体的弹出窗口)以及使用Bootstrap 4的人,您可以通过在打开模态的按钮/控制器上使用
data modal=“false”
来解决此问题。例如:
<button type="button" class="btn" data-toggle="modal" data-target="#new" data-focus="false">
如果使用JS打开模态,可以传入
focus
选项。选项上的完整文档我猜您的CSS存在一个问题,其中某些元素重叠,因此阻塞了输入。您的问题中没有足够的信息,您需要提供更多信息。请给出类popover、addnr和forminline的代码。你在css类中添加的样式中一定有一些冲突。哦,我忘了提到它在模态中。如果我把它放在模态外,它就可以工作,但在它里面却不行。我检查了所有的CSS,找不到form,input
和模态类之间的任何交互,所以我想它一定来自JS。在bootstrap-modal.js中快速搜索“.on”,找到了focusin.modal
侦听器,果然找到了。