使用jquery验证表单的问题

时间:2012-11-04 14:54:44

标签: javascript jquery

我使用jquery的每个循环遍历表单中的所有输入文本字段。总共有4个输入字段。但我收到了以下错误

Cannot call method 'toLowerCase' of undefined in jquery.js:2153

这是我的代码

loadViews: function (view, flag) {
            if( flag ) {
                if ( View.validate() ) {
                    $('.search').animate({left: '-350px'}, 100, 'easeInOutQuad', function () {
                        container.empty().load(view + '.html');
                    });
                } else {

                }
            } else {
                container.empty().load(view + '.html');
            }
        },
        validate: function () {
            $.each('#form input[type="text"]', function (i) {
                console.log($(this).val());
            });
            return false;
        }

我做错了什么?

1 个答案:

答案 0 :(得分:1)

$.each期待收藏时,您正在传递selector。来自API文档:

  

$ .each()函数与$(selector).each()不同,即   用于独占迭代jQuery对象。 $ .each()   函数可用于迭代任何集合,无论它是否为   map(JavaScript对象)或数组。

要解决此问题,请执行以下操作:

$('#form input[type="text"]').each(function (i, elem) {
    console.log($(this).val());
});

或者这个:

var inputs = $('#form input[type="text"]');
$.each(inputs, function (i, elem) {
    console.log($(this).val());
});