获取空输入的正确标签

时间:2012-12-08 09:33:56

标签: jquery validation input label

我的表格如下;

<form method="post" id="contact_form" action="">
<label for="name">Name</label>
<input type="text" name="name"  id="name" />

<label for="email">Email</label>
<input type="text" name="email" id="email" />

<label for="purpose">Purpose</label>
<input type="text" name="purpose" id="purpose"  />                              

    <input type="submit" value="Submit"/> 
</form> 

当我提交表单时,我想识别并添加一个名为'error'的类,仅用于使用jQuery具有空值的输入标签。

请帮我解决这个问题。

谢谢和问候, Rushenn。

3 个答案:

答案 0 :(得分:1)

.homework {
   color: red;
}

$('#contact_form').submit(function(){ // listen to the submit event
    var err = 0;  // define a varible with initial value of 0
    $('input[type=text]', this).each(function(){ // iterate through the text inputs
       var val = $.trim(this.value); // trim and store the value
       // if the value is empty add a class to the previous label otherwise remove it(is it has)
       $(this).prev().toggleClass('homework', !val ); 
       if (!val) err++; // if the value is empty add 1 to the err variable  
    })
    return !err; // return false if there is one or more empty field(s)
})

答案 1 :(得分:1)

试试这个:

$('#contact_form').submit(function() {
    $(this).find("input:text").each(function() {
        if ($.trim($(this).val()) == '') {
            $(this).css({ border: "2px red solid" });
            return false;
        }
    })
});

答案 2 :(得分:0)

$('form#contact_form').submit(function(){
    if($('#name').val() == ''){
        $('label[for="name"]').addClass('error');
        return false;
    } else if($('#email').val() == ''){
        $('label[for="email"]').addClass('error');
        return false;
    } else if($('#purpose').val() == ''){
        $('label[for="purpose"]').addClass('error');
        return false;
    }
    return true;
});