wake-up-neo.net

Inline Form verschachtelt in Horizontal Form in Bootstrap 3

Ich möchte ein Formular in Bootstrap 3 wie folgt erstellen:

Meine Seite (nicht der obige Link) wird nur von Bootstrap 2.3.2) aktualisiert und das Format ist nicht mehr korrekt.

Ich kann kein Dokument über diese Art von Formular auf getbootstrap.com finden.

Kann mir jemand sagen, wie das geht? Nur "Benutzername" wäre OK.

Vielen Dank.

[~ # ~] ps [~ # ~] Es gibt eine ähnliche Frage aber es wird Bootstrap 2.3.2.

68
Scottie

Ich habe eine Demo für Sie erstellt.

So sollte Ihre verschachtelte Struktur in Bootstrap 3 sein:

<div class="form-group">
    <label for="birthday" class="col-xs-2 control-label">Birthday</label>
    <div class="col-xs-10">
        <div class="form-inline">
            <div class="form-group">
                <input type="text" class="form-control" placeholder="year"/>
            </div>
            <div class="form-group">
                <input type="text" class="form-control" placeholder="month"/>
            </div>
            <div class="form-group">
                <input type="text" class="form-control" placeholder="day"/>
            </div>
        </div>
    </div>
</div>

Beachten Sie, wie das ganze form-inline ist verschachtelt in col-xs-10 div enthält die Steuerung der horizontalen Form. Mit anderen Worten, das ganze form-inline ist die "Steuerung" des Geburtstagsetiketts in der horizontalen Hauptform.

Beachten Sie , dass Sie auf ein Problem mit dem linken und rechten Rand stoßen, wenn Sie das Inline-Formular in das horizontale Formular einbetten. Um dies zu beheben, fügen Sie dies zu Ihrem CSS hinzu:

.form-inline .form-group{
    margin-left: 0;
    margin-right: 0;
}
142
edsioufi

Eine andere Möglichkeit besteht darin, alle gewünschten Felder in einer einzelnen Zeile innerhalb eines einzelnen form-group.

Siehe Demo hier

<form class="form-horizontal">
    <div class="form-group">
        <label for="name" class="col-xs-2 control-label">Name</label>
        <div class="col-xs-10">
            <input type="text" class="form-control col-sm-10" name="name" placeholder="name"/>
        </div>
    </div>

    <div class="form-group">
        <label for="birthday" class="col-xs-3 col-sm-2 control-label">Birthday</label>
        <div class="col-xs-3">
            <input type="text" class="form-control" placeholder="year"/>
        </div>
        <div class="col-xs-3">
            <input type="text" class="form-control" placeholder="month"/>
        </div>
        <div class="col-xs-3">
            <input type="text" class="form-control" placeholder="day"/>
        </div>    
    </div>
</form>
17
Dan

Dieses Bootply Beispiel scheint eine viel bessere Option zu sein. Das einzige ist, dass die Beschriftungen etwas zu hoch sind, also habe ich padding-top:5px Hinzugefügt, um sie mit meinen Eingaben zu zentrieren.

<div class="container">
<h2>Bootstrap Mixed Form <p class="lead">with horizontal and inline fields</p></h2>
<form role="form" class="form-horizontal">
    <div class="form-group">
        <label class="col-sm-1" for="inputEmail1">Email</label>
        <div class="col-sm-5"><input type="email" class="form-control" id="inputEmail1" placeholder="Email"></div>
    </div>
    <div class="form-group">
        <label class="col-sm-1" for="inputPassword1">Password</label>
        <div class="col-sm-5"><input type="password" class="form-control" id="inputPassword1" placeholder="Password"></div>
    </div>
    <div class="form-group">
        <label class="col-sm-12" for="TextArea">Textarea</label>
        <div class="col-sm-6"><textarea class="form-control" id="TextArea"></textarea></div>
    </div>
    <div class="form-group">
        <div class="col-sm-3"><label>First name</label><input type="text" class="form-control" placeholder="First"></div>
        <div class="col-sm-3"><label>Last name</label><input type="text" class="form-control" placeholder="Last"></div>
    </div>
    <div class="form-group">
        <label class="col-sm-12">Phone number</label>
        <div class="col-sm-1"><input type="text" class="form-control" placeholder="000"><div class="help">area</div></div>
        <div class="col-sm-1"><input type="text" class="form-control" placeholder="000"><div class="help">local</div></div>
        <div class="col-sm-2"><input type="text" class="form-control" placeholder="1111"><div class="help">number</div></div>
        <div class="col-sm-2"><input type="text" class="form-control" placeholder="123"><div class="help">ext</div></div>
    </div>
    <div class="form-group">
        <label class="col-sm-1">Options</label>
        <div class="col-sm-2"><input type="text" class="form-control" placeholder="Option 1"></div>
        <div class="col-sm-3"><input type="text" class="form-control" placeholder="Option 2"></div>
    </div>
    <div class="form-group">
        <div class="col-sm-6">
            <button type="submit" class="btn btn-info pull-right">Submit</button>
        </div>
    </div>
</form>
<hr>
</div>
7
dbinott

Damit es in Chrome (und bootply) funktioniert, musste ich den Code folgendermaßen ändern:

<form class="form-horizontal">
  <div class="form-group">
    <label for="name" class="col-xs-2 control-label">Name</label>
    <div class="col-xs-10">
      <input type="text" class="form-control col-sm-10" name="name" placeholder="name" />
    </div>
  </div>

  <div class="form-group">
    <label for="birthday" class="col-xs-2 control-label">Birthday</label>
    <div class="col-xs-10">
      <div class="form-inline">
        <input type="text" class="form-control" placeholder="year" />
        <input type="text" class="form-control" placeholder="month" />
        <input type="text" class="form-control" placeholder="day" />
      </div>
    </div>
  </div>
</form>
4
Max Bertoli

Ich hatte Probleme, die Beschriftung an den Eingaben auszurichten, so dass ich das Beschriftungselement auch in das Formular-Inline und die Formulargruppe übertragen habe ... und es funktioniert.

<div class="form-group">
    <div class="col-xs-10">
        <div class="form-inline">
            <div class="form-group">
                <label for="birthday" class="col-xs-2 control-label">Birthday:</label>
            </div>
            <div class="form-group">
                <input type="text" class="form-control" placeholder="year"/>
            </div>
            <div class="form-group">
                <input type="text" class="form-control" placeholder="month"/>
            </div>
            <div class="form-group">
                <input type="text" class="form-control" placeholder="day"/>
            </div>
        </div>
    </div>
</div>
0