如何使用Laravel 4 Form :: open()水平显示多个提交按钮

时间:2013-12-10 16:03:21

标签: css forms laravel-4 twitter-bootstrap-3

初学者......

我有一个搜索表单,其结果包含相关项目的链接。相关项目是可点击的,只要有一个提交按钮重新提交搜索表单,并在表格的隐藏字段中预先填充相关项目的数据。

所有逻辑都正常。单击该按钮将重新提交表单并显示相关项目的数据等。

我的问题是如何让潜在的多个提交按钮水平显示?

在我的观点中,我有:

<div class="row">
    <p>Additional Variations: 
        @if ($related['tall'])
            {{ Form::open(array('route' => 'doSearchCatalog', 'method' => 'POST')) }}
                {{ Form::hidden('partnum', $related['tall']) }}
                {{ Form::submit('Tall', array('class' => 'btn btn-sm btn-default')) }}
            {{ Form::close() }}
        @endif  
        @if ($related['petit'])
            {{ Form::open(array('route' => 'doSearchCatalog', 'method' => 'POST')) }}
                {{ Form::hidden('partnum', $related['petit']) }}
                {{ Form::submit('Petit', array('class' => 'btn btn-sm btn-default')) }}
            {{ Form::close() }}
        @endif
        @if ($related['matern'])
            {{ Form::open(array('route' => 'doSearchCatalog', 'method' => 'POST')) }}
                {{ Form::hidden('partnum', $related['matern']) }}
                {{ Form::submit('Maternity', array('class' => 'btn btn-sm btn-default')) }}
            {{ Form::close() }}
        @endif
        @if ($related['parent'])
            {{ Form::open(array('route' => 'doSearchCatalog', 'method' => 'POST')) }}
                {{ Form::hidden('partnum', $related['parent']) }}
                {{ Form::submit('Standard', array('class' => 'btn btn-sm btn-default')) }}
            {{ Form::close() }}
        @endif
    </p>
</div>

呈现为:

<div class="row">
    <p>Additional Variations: 
        <form method="POST" action="http://intranet.amslab.local/catalog/search" accept-charset="UTF-8">
            <input name="_token" type="hidden" value="cZl4Jt6ZNMAUJVhFa6ySN5P6MwMDHZyn6MQWxgvT">
            <input name="partnum" type="hidden" value="A311TL">
            <input class="btn btn-sm btn-default" type="submit" value="Tall">
        </form>
        <form method="POST" action="http://intranet.amslab.local/catalog/search" accept-charset="UTF-8">
            <input name="_token" type="hidden" value="cZl4Jt6ZNMAUJVhFa6ySN5P6MwMDHZyn6MQWxgvT">
            <input name="partnum" type="hidden" value="A311PE">
            <input class="btn btn-sm btn-default" type="submit" value="Petit">
        </form>
    </p>
</div>

看起来像:

Vertical Submit Buttons

我希望它们水平显示。

我尝试在单个hidden块中包含submitForm::open() ... Form::close()类型,而不是多个块。这有助于水平显示提交按钮,但打破了逻辑,因为两个按钮(如果有两个)提交了最后一个呈现的数据。

是否遵循一个表单=使用Laravel表单构建器提交一个?

我也试过(只是抓住稻草)将表格封在<div class="btn-group">区块中,但无济于事。

这对我来说可能是一件很容易实现的事情,但是唉,我的google / SO foo让我失望了。

这可能与Laravel的表单语法有关吗?

我应该废弃Laravel语法并将其写成html吗?我会不会遇到同样的麻烦?

1 个答案:

答案 0 :(得分:3)

似乎问题是CSS相关,如果你想同时显示提交/表格(并排),那么你可以尝试设置表格显示属性display:inline-block({{3 }}):

.row form { display:inline-block; }

您有两个表单,两个表单都包含两个提交按钮,两个表单应并排放置以并排显示提交按钮,因此,请尝试调整最适合在表单中定义的表单的css样式档案style.css

更新:或者,您也可以在使用::open()方法时在两种表单中使用内联样式:

{{ Form::open(array('route' => 'doSearchCatalog', 'method' => 'POST', 'style'=>'display:inline-block')) }}