带有Bootstrap+Tabs的表单不会在POST事件中发送所有项目.只有第一个选项卡可以正常工作


Form with Bootstrap+Tabs not send all item on POST event. Only first tab work fine

我在laravel 4.2+Blade上使用From。

当用post发送表单,并用dd(项目:all)捕获出口时,只有表单的前五个元素是$Var。

在加载我的页面进行编辑设置后,Laravel和Blade显示了这段代码。我认为这是正确的。

<form method="POST" action="http://fqdn.com/settings" accept-charset="UTF-8" novalidate="novalidate" class="form-horizontal" id="formSettings"><input name="_token" type="hidden" value="iFlxF11zF8afGfqszJyOBgmIzqVLxPrSEl8N6fFK">
<div class="tab-content">
    <!-- Tab Storage -->
    <div role="tabpanel" class="tab-pane active" id="storage">
        <div class="col-sm-12">
            <div>&nbsp;</div>
            <!-- Option Remote -->
            <div class="form-group" id="groupRemote">
                <div class="form-group ">
                    <label for="storageServer" class="col-sm-3 control-label">Remote storage server</label>
                    <div class="col-sm-9 ">
                        <input class="form-control" placeholder="FQDN or Ip" name="storageServer" type="text" id="storageServer">
                    </div>
                </div>
                <div class="form-group ">
                    <label for="storagePort" class="col-sm-3 control-label">Port remote storage server</label>
                    <div class="col-sm-9">
                        <input class="form-control" placeholder="Port number" name="storagePort" type="text" id="storagePort">
                    </div>
                </div>
                <div class="form-group ">
                    <label for="storageUser" class="col-sm-3 control-label">User remote storage server</label>
                    <div class="col-sm-9">
                        <input class="form-control" placeholder="username" name="storageUser" type="text" id="storageUser">
                    </div>
                </div>
                <div class="form-group ">
                    <label for="storagePath" class="col-sm-3 control-label">Path on remote storage server</label>
                    <div class="col-sm-9">
                        <input class="form-control" placeholder="/remote/path" name="storagePath" type="text" id="storagePath">
                    </div>
                </div>
            </div>
            <!-- Option local -->
            <div class="form-group hidden" id="groupLocal">
                <div class="form-group  ">
                    <label for="storageLocal" class="col-sm-3 control-label">Path on remote storage server</label>
                    <div class="col-sm-9">
                        <input class="form-control" placeholder="/local/path" name="storageLocal" type="text" id="storageLocal">
                    </div>
                </div>
            </div>
        </div>
    </div>
    <!-- STOP SEND PAR KEY & VALUE of rest of elements of form
    <!-- Tab Frecuency -->
    <div role="tabpanel" class="tab-pane" id="frequency">
        <div class="col-sm-12">
            <div>&nbsp;</div>
            <div class="form-group" id="groupFrequency">
                <div class="form-group ">
                    <label for="maxDaily" class="col-sm-3 control-label">Limit copies (daily)</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="maxDaily" placeholder="Number copies">
                    </div>
                </div>
                <div class="form-group ">
                    <label for="maxMonthly" class="col-sm-3 control-label">Limit copies (monthly)</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="maxMonthly" placeholder="Number copies">
                    </div>
                </div>
                <div class="form-group ">
                    <label for="maxSnap" class="col-sm-3 control-label">Limit copies (snap)</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="maxSnap" placeholder="Number copies">
                    </div>
                </div>
                <div class="form-group ">
                    <label for="alertSize" class="col-sm-3 control-label">Max size</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="alertSize" placeholder="85 (Maximum size of space on the server to send alert)">
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="col-sm-4 col-sm-offset-4 text-center">
    <input class="btn btn-primary btn-block" type="submit" value="Save">
</div>

dd的排序(输入::all());在SettingsController.php 上

array (size=6)
'_token' => string 'iFlxF11zF8afGfqszJyOBgmIzqVLxPrSEl8N6fFK' (length=40)
'storageServer' => string '' (length=0)
'storagePort' => string '' (length=0)
'storageUser' => string '' (length=0)
'storagePath' => string '' (length=0)
'storageLocal' => string '' (length=0)

我不明白,也没有在表单上看到我的错误。

如果只看到5个输入(当单选框未选中时),代码工作正常,因为如果复选框和单选框未被选中,它们不会作为后变量传输。如果您有:

<input type="checkbox" name="a" value="a" checked="checked"></input>

名为a的帖子变量将包含"a"内容

<input type="checkbox" name="a" value="b" checked="checked"></input>

名为a的帖子变量将具有内容"b"

<input type="checkbox" name="a" value="a"></input>

不会设置名为a的post变量(当然,如果表单中未选中此复选框)。

编辑:

您在最后4个输入中没有name属性,添加它们"name",一切都会正常工作。