引导表单组行不起作用

Posted

技术标签:

【中文标题】引导表单组行不起作用【英文标题】:bootstrap form-group rows not working 【发布时间】:2014-11-01 20:08:15 【问题描述】:

我不确定我在这里做错了什么。 form-group 类应该像 form-horizo​​ntal 形式中的一行,对吗?这是代码。这是梦幻足球的添加/删除页面。

<h2>Add/Drop Player</h2>
<div class="container">
  <%= form_tag(slot_do_add_drop_path(@slot), method: 'post', :html => :class => 'form-horizontal', :role => 'form') do %>

    <div class="form-group">
      <div class="col-sm-2">Player to Drop</div>
    </div>
    <div class="form-group">
      <div class="col-sm-2"><%= @slot.player.display_name %> - <%= @slot.player.position %></div>
    </div>

    <div class="form-group">
      <div class="col-sm-2">Add Player</div>
    </div>
    <%= render partial: "free_agent_select", locals: free_agents: @free_agents_qbs, p_id: 'qb_id', prompt: 'Select QB'%>
    <%= render partial: "free_agent_select", locals: free_agents: @free_agents_wrs, p_id: 'wr_id', prompt: 'Select WR'%>
    <%= render partial: "free_agent_select", locals: free_agents: @free_agents_rbs, p_id: 'rb_id', prompt: 'Select RB'%>
    <%= render partial: "free_agent_select", locals: free_agents: @free_agents_tes, p_id: 'te_id', prompt: 'Select TE'%>
    <%= render partial: "free_agent_select", locals: free_agents: @free_agents_ks, p_id: 'k_id', prompt: 'Select K'%>
    <%= render partial: "free_agent_select", locals: free_agents: @free_agents_defs, p_id: 'def_id', prompt: 'Select DEF'%>
    <div class="form-group">
      <div class="col-sm-2">
        <%= submit_tag 'Submit', name: 'add_drop_player', class: 'form-control'%>
      </div>
    </div>
  <% end %>
</div>

部分free_agent_select

<div class="form-group">
  <div class="col-md-2">
    <%= collection_select :player, p_id, free_agents, :id, :display_name, :prompt => prompt, :class => 'form-control' %>
  </div>
</div>

【问题讨论】:

嘿,丹,你能发布渲染的 HTML 吗? 您是否尝试过像 Bootstrap 示例文档中那样将提交移出表单组? 【参考方案1】:

您应该为每个新“行”使用一个行类来解决这样的重叠问题。

<div class="form-group row">
  <div class="col-sm-2">Player to Drop</div>
</div>

【讨论】:

你能解释一下什么是重叠的,为什么?我遇到了同样的问题,但你的回答帮助了我。【参考方案2】:

需要注意的是 form-group 不会包裹浮动元素。在这种情况下,所有带有 .col-xx-xx 的元素都会在其容器中添加一个浮点数。添加 .row 的类名只是添加了将 ::before 和 ::after 元素添加到元素(在本例中为 div)然后将 clear:both 的 css 属性应用于这些元素的清除修复。您不需要将 .row 的类名添加到父元素中,您只需将 .clearfix 添加为类即可。因为它纯粹是语义,所以决定权在你。

<div class="form-group">
  <label for="firstName">First Name</label>
  <input id="firstName" name="firstName" class="form-control" />
</div>
<div class="form-group clearfix">
  <div class="col-sm-3"><a href="javascript:void(0);" class="btn btn-primary">CLEAR INFORMATION</a></div>
  <div class="col-sm-3"><button class="btn btn-default" type="submit">SUBMIT</button></div>      
</div>

【讨论】:

【参考方案3】:

我遇到了类似的问题,并使用 Zanderi 的建议 (clearfix) 修复了它。 但是,当我更改为 bootstrap 4.0 时,我发现默认情况下一切正常,所以我的建议:保留默认代码,例如:

        <form class="dropdown-menu dropdown-menu-right" style="padding: 15px">
            <div class="form-group">
                <label>Nombre</label>
                <input class="form-control" id="name" placeholder="Nombre">
            </div>
            <div class="form-group">
                <label>Imagen</label>
                <input class="form-control" type="file" id="image">
            </div>
            <button type="submit" class="btn btn-default pull-right">Guardar</button>
        </form>

并使用引导程序 4.0。

【讨论】:

以上是关于引导表单组行不起作用的主要内容,如果未能解决你的问题,请参考以下文章

表单验证在引导程序中不起作用

在引导程序中居中表单不起作用[重复]

引导向导下一个按钮不起作用

引导模态高度上的转换不起作用

Jquery 选择器在引导模式下不起作用(使用 codeigniter 加载表单)

引导验证(成功)后,表单使用默认方法而不是 ajax 提交。 e.preventDefault() 不起作用?