0

フォームを検証するために次のコードを作成しました。

$('form').submit(function() {
    $.each($(this).find('.required'), function(i,d){
        var lName = '#'+$(d).attr('for'); 
        if (!$(lName).val()) {
            $('html, body').animate({ scrollTop: $(d).offset().top }, 'slow');
            $(d).css({'color': '#ff0954'});
            if ($(lName).attr('class') == 'ckeditor') {

            }else{
                for(i=0;i<3;i++) {
                    $(lName).fadeTo('fast', 0.5).fadeTo('fast', 1.0);
                }
            }
            return false;
        }
    });
});

label私のコードはクラス名のタグを検索し、reqiuredフィールドを検証します。

すべてが大丈夫のようですが、私にはいくつかの問題があります:

  1. return false;フィールドに問題がある場合に使用しますが、フォームは送信されます。
  2. 授業focusはできませんckeditor
  3. 検証できませんradiocheckboxタグselect
4

3 に答える 3

0

1

各ループの前に変数をtrueに設定してみてください。次に、falseを返した場合は、その変数をfalseに設定します。ループの後、その変数を確認し、falseの場合は、falseを返します。現在、各関数でfalseを返しているので、送信時にそれを行う必要があります。

だからこのようなもの:

$('form').submit(function() {
    var valid = true;
    $.each($(this).find('.required'), function(i,d){
        // all your checks
        // if your checks are bad
        valid = false;
    });
    if (valid === false) {
        return false;
    }
}); 

2

ckeditorとは何ですか?あなたの完全なhtmllを見ることができますか?

3

何を検証しようとしていますか?@sparkyのコメントはおそらくここで正しい答えです。

于 2013-01-29T16:20:21.710 に答える
0

これを使って...

$('#myForm').on('submit', function(){
    $("#myForm").validate();
});

ここでjQueryはドキュメントを検証します

ご挨拶...

于 2013-01-29T16:22:43.053 に答える
0

@Sparkyのおかげで、最初から作成したjQuery検証プラグインインスタンスを使用します:http: //docs.jquery.com/Plugins/Validation

于 2013-01-30T16:30:04.447 に答える