2

我在使用 twitter 引导框架和 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类添加到相应的控制组中。

现在,例如名称验证正常,但描述失败,描述控制组获取错误类并正确显示(红色,标准引导程序)。但是名称输入字段也是红色的。我检查了源代码,名称的控制组没有.error类。让我感到困惑的是,只有输入字段以红色边框显示,正确显示适当的标签标签(默认颜色)。

这是一个屏幕截图,以便更清楚地理解。

我的问题

在 Chrome 和 Firefox 中检查它,这样我就可以排除浏览器错误。我还在 chromes 开发人员工具中手动添加和删除了该类,它按预期工作。这是为什么?有人对此有解决方案吗?

4

1 回答 1

2

form位于另一个div带有.control-group-class的内部(此处未显示),并且error-class 是使用 jQuerys 应用.parents()的,.control-group它一直在 DOM 树上搜索并导致.error应用于div包含两个输入字段的那个。

删除封闭div的 s 类解决了这个问题。这有点不公平,因为我可以访问完整的代码。:(

于 2012-08-18T19:00:44.580 回答