-1

我一直试图让我的表单进行验证(没有 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");
            }
        });

我在这里做了一个小提琴。也许其他人可以发现我做错了什么。(我为格式问题道歉。我使用的是 Ubuntu,一切都出了问题)。

非常感谢您的帮助,谢谢!

4

3 回答 3

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。此错误在其控制台中非常明显。

于 2013-03-08T22:14:46.773 回答
2

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

  } else {
      errornotice.hide();
      requiredeturn true;
  }
于 2013-03-08T22:15:16.393 回答
1

Very quickly, I can see the line requiredeturn true;

changing it in the jsFiddle makes it work.

http://jsfiddle.net/mWYMf/

于 2013-03-08T22:18:18.923 回答