如果元素为空,则JQuery表单验证和类更改

时间:2014-01-05 05:52:08

标签: javascript php jquery html forms

我不是JQuery专家。在尝试了3天之后,除了寻求帮助之外别无选择。

我有一个动态表单,通过jquery / ajax获取元素(input,select,radio,textarea)。

现在,我想简单地验证表单。如果元素为空,则不会提交表单,并且将向空元素添加Bootstrap类“error”。如果所有元素都不为空,那么表单将被提交到所需的php页面。

这是我到目前为止所做的事情

if (($(this).attr("category")) || ($(this).attr("vcmodel"))) {
    if ($('#category').length) {
        $('#category').addClass('error');
    }
    if ($('#vcmodel').length) {
        $('#vcmodel').addClass('error');
    }
    if ((($(this).attr("category")) && ($('#category').length)) || (($(this).attr("vcmodel")) && ($('#vcmodel').length))) {
        return false;
    }
}

2 个答案:

答案 0 :(得分:3)

嗯,只是为了给你一个想法,也许你可以这样做:

$("#submit").on("click", function(e) {
    var category = $("#category");
    if(category.val() === "") {
        category.addClass("error");

        // don't submit !
        e.preventDefault();
    }
});

这是fiddle

答案 1 :(得分:0)

您可以尝试使用Jquery验证插件。否则你会尝试这种方法。

$(document).ready(function(){
    $(document).on('submit','form',function(e){
        e.preventDefault();
        var $this = $(this);
        var valid;
        valid = true;
        $('.yourInputClass').each(function(){
            var value = $(this).val();
            if(value == ''){
                valid = false;
                $(this).addClass('error');              
            }
        });
        if(valid){
            $this.submit();
        }
    });
});