使用Jquery验证模态窗口

时间:2011-07-27 00:05:48

标签: jquery jquery-validate modal-dialog

我有一个效果很好的模态窗口,以及一个验证很好的jquery表单,但两个不能一起工作。我尝试过点击/直播活动的不同组合,似乎没有任何效果。只要我将模态窗口ID附加到表单容器,它就会停止工作。这是我的代码。我很沮丧,我真的希望你能帮助我!非常感谢你提前。我已经在这几个小时没有进展。

var jQuery = jQuery.noConflict();
jQuery(document).ready(function() {
    jQuery.validator.methods.NotEqual = function(value, element, param) {
        return value != param;
    };  
jQuery('#submit').live('click',function() {
    jQuery('form').submit();
});


jQuery('form').live("submit", function(event) {
    jQuery("#contacts").validate({
        errorPlacement: function(error, element) {},
        errorContainer: "#PIErrorBox",
        rules: {
            name: {
                required: true,
                NotEqual: 'Name'
            },
            email: {
                required: true,
                email: true,
                NotEqual: 'Email'
            },
            notes: {
                required: true,
                NotEqual: 'How Can I Help?'
            }
        },
        submitHandler: function(form) {
            jQuery(".button").hide();
            var loader = jQuery('<img src="images/loading.gif" alt="loading..." class="loading">').insertAfter(".button");
            var param = jQuery(form).serialize();

            jQuery.ajax({
                type: "POST",
                url: "include/inc_sendmail.php",
                data: param,
                success: function() {
                    jQuery('#contacts').hide();
                    jQuery('#thankyou').show();
                }
            });
            return false;
        }
    });
});

});

我很难让html发布,我得到的只是空div。这是小提琴,它显示了html:http://jsfiddle.net/4kNVv/

使用http://bassistance.de/jquery-plugins/jquery-plugin-validation/

中的Jquery验证库

模态窗口代码

模态JS:http://ortalonline.com/js/fancyzoom.js

通过$ Z('#ContactMeLink')调用.fancyZoom();

非常感谢你的帮助:)。

2 个答案:

答案 0 :(得分:3)

有点晚了但也许这可以帮助别人。

这可能是因为模型在表单之后移动要在身体底部验证的元素。验证器在表单中搜索它们并且找不到它们。

技巧不是将模态区域中的元素移出表单标记。

答案 1 :(得分:0)

看来你的html中有一个额外的结束表单标签,这里是demo

也是这一行

var jQuery = jQuery.noConflict();

不正确您不需要将其设置为var只需执行

jQuery.noConflict();

我不明白这个

$Z('#ContactMeLink').fancyZoom();

什么是$ Z这个jQuery还在吗?