我遇到了twitter bootstrap框架和jQuery的以下问题: 我有以下形式(简化,真正的形式是使用cakephp的formhelper构建的,并且有更多的类和ID):
<form class="form-horizontal">
<div class="control-group">
<label class="control-label" for="input01">Name</label>
<div class="controls">
<input type="text" class="input-xlarge" id="name">
<span class="help-block">Supporting help text</span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="input01">Description</label>
<div class="controls">
<input type="text" class="input-xlarge" id="description">
<span class="help-block">Supporting help text</span>
</div>
</form>
在服务器端验证之后,我将.error
类添加到相应的控制组。
现在例如对name的验证是正确的,但是对于描述失败,描述control-group获取错误类并且正确显示(红色,标准引导程序)。但名称输入字段也是红色。我检查了源代码,名称的控制组没有.error
类。
令我困惑的是,只有输入字段显示红色边框,正确显示相应的标签标签(默认颜色)。
这是一个更清晰理解的截图。
在Chrome和Firefox中查看,这样我就可以排除浏览器错误。我还在chromes开发人员工具中手动添加和删除了类,它按预期工作。这是为什么?有人有解决方案吗?
答案 0 :(得分:2)
form
位于另一个div
.control-group
- 类(此处未显示)内,error
- 类使用jQuerys .parents()
搜索.control-group
一直向上移动到DOM树,并导致.error
应用于包含两个输入字段的div
。
删除封闭的div
类解决了这个问题。这有点不公平,因为我可以访问完整的代码。 :(