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;在字段有问题时使用,但表单将是 submit 。
  2. 我不能focus上课ckeditor
  3. 我无法验证radiocheckbox标记select
4

3 回答 3

0

1

尝试在每个循环之前将变量设置为 true。然后,在您返回 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

感谢@Sparky,我将使用我从头开始编写的 jQuery Validation Plugin实例: http ://docs.jquery.com/Plugins/Validation

于 2013-01-30T16:30:04.447 回答
0

用这个...

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

这里jQuery 验证文档

问候...

于 2013-01-29T16:22:43.053 回答