-1

フォームを検証しようとしています(jquery検証なし)。何らかの理由でコードがそれをカットしておらず、実際に私のローカル環境でいくつかのcssの問題を引き起こしています。

私は文字通り4つのフィールドを検証しようとしていて、エラーが表示されます。

        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

非常に速く、私は線を見ることができますrequiredeturn true;

jsFiddleで変更すると機能します。

http://jsfiddle.net/mWYMf/

于 2013-03-08T22:18:18.923 に答える