【问题标题】:verify form is filled out, HTML jQuery验证表单是否填写,HTML jQuery
【发布时间】:2012-04-16 15:12:28
【问题描述】:

我知道这是一个简单的问题,但是你们能帮我看看下面的代码吗?我制作了这个功能来检查表格中是否填写了必填字段。如果它发现其中一个输入是空白的,那么它应该停止并返回 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/

现在可以了,谢谢大家!

【问题讨论】:

  • 1) 您是否希望所有未填充字段的所有错误消息都显示在对话框中,2) 仅空白是否意味着已填充?
  • 检查jsfiddle.net/TdnZp/16 .. 它对文本输入的作用
  • 是的!谢谢,是的,我一开始发错了小提琴,但是是的,你让它工作了!新的就在那里,它可以工作

标签: jquery html forms validation


【解决方案1】:

试试这个

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;
}

【讨论】:

【解决方案2】:

假设:

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;
}

【讨论】:

  • 感谢您的想法。是的,我也不想允许空格,但我只想显示遇到的第一个错误。并非所有错误都在一起,尽管我可以看到在某些情况下这将是如何有用的。
猜你喜欢
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-12
相关资源
最近更新 更多