Jquery不会显示错误,也不会验证

时间:2013-03-08 22:12:10

标签: jquery validation

我一直试图让我的表单进行验证(没有jquery验证)。出于某种原因,代码没有削减它,它实际上导致了我的本地环境中的一些CSS问题。

我只是试图验证四个字段并显示错误。

        required = ["id_first_name", "id_last_name", "id_firmbox", "id_job_title"];

        errornotice = $("#error");
        emptyerror = "Please fill out this field.";
        $("#startform").submit(function(){
            //Validate required fields
            for (i=0;i<required.length;i++) {
                var input = $('#'+required[i]);
                if ((input.val() == "") || (input.val() == emptyerror)) {
                    input.addClass("tobefixed");
                    input.val(emptyerror);
                    errornotice.fadeIn(750);
                } else {
                    input.removeClass("tobefixed");
                }
            }

            //if any inputs on the page have the class 'tobefixed' the form will not submit
            if ($(":input").hasClass("tobefixed")) {
                return false;
            } else {
                errornotice.hide();
                requiredeturn true;
            }
        });
        $(":input").focus(function(){
            if ($(this).hasClass("tobefixed") ) {
                $(this).val("");
                $(this).removeClass("tobefixed");
            }
        });

我做了fiddle here。也许其他人可以发现我做错了什么。 (我为格式化问题道歉。我正在使用Ubuntu,一切都出错了。)

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:4)

您的代码中存在语法错误。

变化:

       if ($(":input").hasClass("tobefixed")) {
            return false;
        } else {
            errornotice.hide();
            requiredeturn true;
        }

要:

    if ($(":input").hasClass("tobefixed")) {
        return false;
    } else {
        errornotice.hide();
        return true;
    }

工作示例:http://jsfiddle.net/8YgNT/12/

我还建议你找一个好的客户端调试器,比如Firebug。这个错误在其控制台中非常明显。

答案 1 :(得分:2)

如果您在JavaScript的控制台上看到,您会看到错误是由此引起的:requiredeturn true;在这里:

  } else {
      errornotice.hide();
      requiredeturn true;
  }

答案 2 :(得分:1)

很快,我可以看到第requiredeturn true;

在jsFiddle中更改它可以使它工作。

http://jsfiddle.net/mWYMf/