仅验证表单中的可见元素

时间:2017-01-31 07:43:16

标签: javascript jquery forms

我想在步骤表单中点击下一个按钮验证表单元素。我正在使用以下代码来验证所有隐藏字段。需要帮忙。提前谢谢..

这是我的代码:

$('.msf-form .btn-next').on('click', function() {                                 
    var parent_fieldset = $(this).parents('fieldset');
    var next_step = true;


    parent_fieldset.find('.is_required').each(function() {
        if( $(this).val() == "" ) {
            $(this).focus().css('border','1px solid #F44336');
            $(".error-messages-slct").text("Please Select an option in the list").fadeIn();
            next_step = false;
        }
        else{
       $(this).focus().css('border','0px solid #F44336');
       $(".error-messages-slct").empty().fadeOut();

    }
    });

    parent_fieldset.find('.is_required1').each(function() {
        if( $(this).val() == "" ) {
            $(this).focus().css('border','1px solid #F44336');
            $(".error-messages-slct1").text("Select an option in the list").fadeIn();
            next_step = false;
        }
        else{
       $(this).focus().css('border','0px solid #F44336');
       $(".error-messages-slct1").empty().fadeOut();

    }
    });

    if( next_step ) {
        parent_fieldset.fadeOut(400, function() {
            $(this).next().fadeIn();
        });
    }

});

2 个答案:

答案 0 :(得分:0)

您可以在选择器后添加{{1}}。使用此参考..

Use it like this

答案 1 :(得分:0)

而不是遍历班级的每个元素' .is_required1'和' .is_required',您只需要为当前可见的这些元素执行此操作。您可以为此使用其他类,或查询display属性。

考虑到minksmnm的建议,你可以使用find('.is_required:visible')代替``find(' .is_required')`来仅选择可见元素。在其他地方,你的发现也会得到隐藏的,并验证它们。