1

我知道这是一个简单的问题,但是你们都可以帮助我使用以下代码吗?我制作了这个功能来检查表格中是否填写了必填字段。如果它发现其中一个输入是空白的,那么它应该停止并返回 false。如果所有元素都有内容,它应该返回 true。以下函数不起作用,因为我的return false;行在 jQuery.each函数内。它没有返回我定义的新函数。我该如何处理?

function check_form(){
    $('form .required').each(function(){
        if ($(this).val() == ""){
            show_dialog('Please enter a value for ' + $(this).attr('name'));
            return false;
        }
    });

    return true;
}

即使某些必填字段为空,此函数每次都返回 true。

这个小提琴描述了这个问题:http: //jsfiddle.net/f59t4/2/

现在可以了,谢谢大家!

4

2 回答 2

4

试试这个

function check_form(){
    var flag = true;
    $('form .required').each(function(){
        if ($(this).val() == ""){
            show_dialog('Please enter a value for ' + $(this).attr('name'));
            flag =  false;
        }
    });

    return flag;
}
于 2012-04-16T15:18:03.580 回答
1

假设:

1)您想要所有问题的验证摘要,并且

2)您不希望包含所有空格的字段被视为有效,然后:

function checkform () {
    var errors = "";
    var $blankFields = $('form .required').filter(function () {
        return $.trim($(this).val()) === "";
    });
    if ($blankFields.length) {
        $blankFields.each(function () {
            errors += "Please enter a value for " + $(this).attr('name') + "<br />";
        });
        show_dialog(errors);
        return false;
    }
    return true;
}
于 2012-04-16T15:29:05.020 回答