我可以为div标签添加额外的错误类吗?

时间:2012-01-20 19:09:52

标签: jquery twitter-bootstrap

我有一个使用twitter's bootstrap套件构建的大表单。字段看起来像这样:

<div class="clearfix">
    <label for="state_id">State</label>
    <div class="input">
        <select id="state_id" name="state">
           <option value="122">Alabama</option><option value="123">Alaska</option><option value="124">Arizona</option> 
        </select>
    </div>
</div><!-- /clearfix -->
<div class="clearfix">
    <label for="city_id">City</label>
    <div class="input">
        <input type="text" id="city_id" name="city" value="" />
    </div>
</div><!-- /clearfix -->

他们提供了一个错误类,用红色突出显示字段:

<div class="clearfix error">
    <label for="state_id">State</label>
    <div class="input">
        <select id="state_id" name="state">
             <option value="122">Alabama</option><option value="123">Alaska</option><option value="124">Arizona</option> 
        </select>
    </div>
</div><!-- /clearfix -->

有没有办法使用jquery并验证我的表单字段并在需要时添加此类?

我的jquery电话很简单:

$('#form_submit').click(function(){

    var formValid = true;

    $("div.clearfix").each(function() {
            // 
    });
});         

2 个答案:

答案 0 :(得分:2)

也许您可以考虑使用jquery验证plugin来制作验证规则。真的是一个强大的插件。

示例:

$("input [type='text']").rules("add", { minlength: 2 });

因此,当您调用$("form").validate()时,此函数将返回所有无效字段。

答案 1 :(得分:0)

您可以使用上述插件或任何其他方式验证表单,然后如果发现验证错误,请使用

 $("#city_id_input_div").addClass("error");

您必须将id提供给需要应用“错误”类的每个div。

例如

<div class="clearfix" is="city_id_input_div">
<label for="city_id">City</label>
<div class="input">
    <input type="text" id="city_id" name="city" value="" class="large" onclick="removeErrorClass('city_id_input_div');" onkeypress="removeErrorClass('city_id_input_div');"/>
</div>

  function removeErrorClass(id)
  {  
    $("#"+id).removeClass("error"); 
  }

这是我动态使用引导程序的'error'类并动态删除该类的方法。

希望这会对你有所帮助。