html - Bootstrap 表单,列在必填字段中未按预期工作

标签 html css twitter-bootstrap

我正在尝试创建一个表单,该表单将在经过验证的表单中显示错误消息框。

我似乎无法使错误框适合与表单(标签输入)列完全相同的宽度。无论我做什么,它似乎都关闭了。所以暂时我将它保留为 col-sm-12。有人可以向我解释为什么我似乎无法让它与标签的宽度和输入宽度相匹配吗?

我在所需跨度方面也遇到了同样的问题。我正在尝试让“需要的文本”在输入框下方排列。无论我做什么,这都是行不通的。我可以向左填充以使其适合每个尺寸,但这看起来很愚蠢,因为我认为使用 cols 的框架工作应该为我做?有人可以帮助我了解我所缺少的东西。我是 Bootstrap 的新手,我只是被难住了。如果我将 class="col-sm-9 col-sm-offest-2 放在所需的跨度上,它不会做任何事情,与 class="col-sm-12"保持不变。我猜它需要保持在 when我把它拔出来,一切都变得疯狂......

这是标签输入和所需跨度的示例,我唯一可以正常工作的是 col-sm-12,这样它至少与某些东西对齐,但看起来很荒谬。

<div class="form-group">
        <label class="col-sm-2 control-label" for="InputAddress1">Address 1</label>
        <div class="col-sm-9 col-sm-offest-2  input-group">
            <span class="input-group-addon"><i class="glyphicon glyphicon-asterisk"></i></span>
            <input type="text" class="form-control" placeholder="Address Line 1" autofocus required>
        </div>                                                                                                                            
        <span class="error col-sm-12">Required</span>
  </div>

完整的代码示例可以在这里查看 https://stevia-affirm.codio.io/Question.html

谢谢 吉娜

最佳答案

我认为你对 Require 的问题是你有一个错字(也许你复制并粘贴以在所需的跨度上重复错误?)。

您不需要输入组中的偏移量,因为标签的 col-sm-2 已经存在。如果你更正了拼写错误,你会得到一些丑陋的东西,因为你有太多的列(即 2+ 2+ 9 = 13)。只需将偏移量放在那里即可。

然后你可以将偏移量添加到你需要的(没有拼写错误;-):

<span class="error col-sm-9 col-sm-offset-2">Required</span>

此外,您的井是表格的宽度。它可能看起来不像,因为正确对齐的标签以及您的每个标签+输入仅加起来为 11 而不是 12。

编辑:这是表单的清理版本(大部分)。您会注意到我将输入组包装在列的单独类中。这样做的原因是结合使用 form-horizo​​ntal 和 input-group-addons,使输入为 100%+ addon 元素的固定宽度。像这样包装所有内容将产生您想要的结果。

<!DOCTYPE html>
<html lang="en">
 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Core CSS -->
    <link rel="stylesheet" type="text/css" href="plugins/bootstrap-3.1.1-dist/css/bootstrap.min.css">
 </head>
<body>

    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <h1>Employee Information</h1>
            </div>
        </div>
    </div>
    <div class="container">
        <div class="row">
            <div class="col-sm-12" style="padding-top:30px;">
                <div class="alert alert-danger ">
                    <span class="glyphicon glyphicon-alert "></span><strong> message</strong>
                </div>
            </div>          
        </div>
    </div>

    <div class="container">
        <form class="form-horizontal" role="form">
            <div class="form-group">
                <label class="col-sm-2 control-label ">Name</label>
                <div class="col-sm-10">
                    <div class="input-group">
                        <span class="input-group-addon "><i class="glyphicon glyphicon-asterisk "></i></span>
                        <input type="text" placeholder="Name " class="form-control">
                    </div>
                </div>
            </div>
            <div class="form-group">
                <label class="col-sm-2 control-label" for="InputAddress1">Address 1</label>
                <div class="col-sm-10">
                    <div class="input-group">
                        <span class="input-group-addon"><i class="glyphicon glyphicon-asterisk"></i></span>
                        <input type="text" class="form-control" placeholder="Address Line 1" autofocus required>
                    </div>
                </div>
                <span class="error col-sm-10 col-sm-offset-2">Required</span>
            </div>
            <div class="form-group">
                <label class="col-sm-2 control-label" for="InputAddress2">Address 2</label>
                <div class="col-sm-10">
                    <div class="input-group">
                        <span class="input-group-addon input-group-addon_width"><i class=""></i></span>
                        <input type="text" class="form-control" placeholder="Address Line 2">
                    </div>
                </div>
            </div>
            <div class="form-group">
                <label class="col-sm-2 control-label" for="InputCity">City</label>
                <div class="col-sm-10">
                    <div class="input-group">
                        <span class="input-group-addon"><i class="glyphicon glyphicon-asterisk form-control-feedback"></i></span>
                        <input ng-model="demo.city" ng-disabled="!editAllowed" type="text" class="form-control" placeholder="City" required>
                    </div>
                </div>
                <span ng-show="demographics_form.city.$error.required" class="error col-sm-10 col-sm-offset-2">Required</span>
            </div>
            <div class="form-group">
                <label class="col-sm-2 control-label" for="InputState">State</label>
                <div class="col-sm-10">
                    <div class="input-group">
                        <span class="input-group-addon"><i class="glyphicon glyphicon-asterisk form-control-feedback"></i></span>
                        <select id="state" class="form-control" required>
                            <option >State</option>
                        </select>
                    </div>
                </div>
            </div>
            <div ng-hide="!editAllowed" class="col-sm-12">
                <div class="row">
                    <div class="col-sm-offset-4 col-sm-2">
                        <button class="btn btn-success btn-block">Submit</button>
                    </div>
                    <div class="col-sm-2">
                        <button  class="btn btn-info btn-block">Cancel</button>
                    </div>
                </div>
            </div>
        </form>
    </div>
</body>
</html>

关于html - Bootstrap 表单,列在必填字段中未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23785494/

相关文章:

javascript - 多个元素的鼠标悬停和鼠标移开

javascript - 打开 Bootstrap 模式时如何清除以前的数据?

twitter-bootstrap - ng2-bootstrap 中的 Typeahead 无法显示 Angular 2 中的项目

html - Bootstrap : Rows/Cols Layout Issue

css - 将淡出过渡添加到 Bootstrap 模式,不会退回到起点

html - 覆盖溢出 :hidden with z-index

html - 匹配不包含特定值的 HTML 表行 ( <tr> ) 的正则表达式

html - 与 2 个背景图像链接的液体宽度解决方案?

asp.net - 本地主机与开发服务器上 IE8 的奇怪显示行为

html - 固定宽度,灵活高度的 css 网格