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開発者ツールでクラスを手動で追加および削除しましたが、意図したとおりに機能しました。何故ですか?誰かがこれに対する解決策を持っていますか?