【发布时间】:2014-11-15 04:15:15
【问题描述】:
我在使用 Bootstrap 3.2.2 的模式中遇到问题。这是我的 HTML:
<div class="modal fade" id="emailModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true" class="fa fa-close"></span><span class="sr-only">Close</span></button>
<h4 class="modal-title"><span style="padding-right:10px;" class="fa fa-envelope" aria-hidden="true"></span>E-Mail Developer</h4>
</div> <!-- .modal-header -->
<div class="modal-body">
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="toEmailInput" class="col-sm-2 control-label">To</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="toEmailInput" placeholder="Enter Email" />
</div>
</div>
<div class="form-group">
<label for="subjectInput" class="col-sm-2 control-label">Subject</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="subjectInput" placeholder="Enter Subject" />
</div>
</div>
<div class="form-group">
<label for="messageInput" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="no-resize form-control" id="messageInput" rows="5" placeholder="Enter Message"></textarea>
</div>
</div>
</form>
</div> <!-- .modal-body -->
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary">Send</button>
</div> <!-- .modal-footer -->
</div> <!-- .modal-content -->
</div> <!-- .modal-dialog -->
</div> <!-- .modal -->
这呈现:
但是,如果我在页面的任何位置添加一个额外的标签 <form role="form"></form>,我会得到:
知道这里的幕后发生了什么巫术吗?我希望它看起来像第二张图片没有额外的表单标签。
更新 - 在查看了我之前和之后应用的 CSS 之后,似乎删除了额外的 <form> 标记也从表单本身删除了应用的 .form-horizontal 样式.我正在继续调查,但我感觉这与网站的配置方式有关。
更新 - 我发现了问题。如果没有额外的 <form> 标记,Web 应用程序中会出现一些奇怪的现象,即 删除 周围的 <form class="form-horizontal"> 标记,但只保留表单组。很奇怪!
更新 - 嗯,惊喜。结果我的 ASP.NET Web 表单(是的,带有<form runat="server"> 标签)去掉了“嵌套”表单元素。是的,我意识到我没有提到我正在使用网络表单,但我希望它是无关的。原来它是完全相关的!
【问题讨论】:
-
可能需要查看一些 CSS
-
在 JSFiddle 中按预期工作,所以它可能是一个 CSS“问题” - Link to fiddle
-
嗯...好点。这个项目有很多疯狂的 CSS 由很多其他开发人员完成,可能有几个隐藏的“宝石”。
-
这个浏览器是您特有的,还是在每个浏览器上都有?我们需要查看以下类的 CSS 规则:.control-label 和 .no-resize,我敢打赌问题与这些类有关,可能与内联样式有关。
-
@ben.kaminski 我能够跨浏览器重新创建。
标签: html forms twitter-bootstrap