Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jquery验证模式窗口_Jquery_Jquery Validate_Modal Dialog - Fatal编程技术网

使用Jquery验证模式窗口

使用Jquery验证模式窗口,jquery,jquery-validate,modal-dialog,Jquery,Jquery Validate,Modal Dialog,我有一个工作正常的模式窗口和一个验证正常的jquery表单,但这两个表单不能一起工作。我尝试了不同的点击/现场事件组合,但似乎没有任何效果。一旦我将模态windows ID附加到表单容器,它就不起作用了。这是我的密码。我很沮丧,我真的希望你能帮助我!事先非常感谢你。我已经做了几个小时了,没有任何进展 var jQuery = jQuery.noConflict(); jQuery(document).ready(function() { jQuery.validator.methods.

我有一个工作正常的模式窗口和一个验证正常的jquery表单,但这两个表单不能一起工作。我尝试了不同的点击/现场事件组合,但似乎没有任何效果。一旦我将模态windows 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;
        }
    });
});
var jQuery=jQuery.noConflict();
jQuery(文档).ready(函数(){
jQuery.validator.methods.NotEqual=函数(值、元素、参数){
返回值!=param;
};  
jQuery(“#提交”).live('click',function(){
jQuery('form').submit();
});
jQuery('form').live('submit',函数(事件){
jQuery(“#联系人”).validate({
errorPlacement:函数(错误,元素){},
errorContainer:#PIErrorBox“,
规则:{
姓名:{
要求:正确,
NotEqual:'名称'
},
电邮:{
要求:正确,
电子邮件:是的,
NotEqual:“电子邮件”
},
注:{
要求:正确,
NotEqual:“我能帮什么忙?”
}
},
submitHandler:函数(表单){
jQuery(“.button”).hide();
var loader=jQuery(“”).insertAfter(“.button”);
var param=jQuery(form).serialize();
jQuery.ajax({
类型:“POST”,
url:“include/inc_sendmail.php”,
数据:param,
成功:函数(){
jQuery('#contacts').hide();
jQuery(“#谢谢”).show();
}
});
返回false;
}
});
});
}))

我有一个非常困难的时间让html发布,所有我得到的是空div。这是小提琴,它显示了html:

从使用Jquery验证库

模式窗口代码

模态JS:

通过$Z(“#ContactMeLink”).fancyZoom()调用


非常感谢您的帮助:)

看起来您的html中有一个额外的结束表单标记

还有这条线

var jQuery = jQuery.noConflict();
如果不正确,则不需要将其设置为var,只需执行以下操作

jQuery.noConflict();
我不明白

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

$Z是什么?

这个jQuery还有点晚了,但也许这可以帮助其他人

这可能是因为模型将要验证的元素移动到表单之后的主体底部。验证器在表单中搜索它们,但没有找到它们


诀窍是不要将模式区域中的元素移出表单标记。

我可以看看您的html吗?还有模态代码在哪里?当然,我现在正在添加它。谢谢由于我使用不同的库,所以使用了无冲突标记。。。如果有更好的办法,请告诉我。我有正确的结束标记,它一定没有在堆栈溢出中很好地转换。这是合适的小提琴:。同样,一旦我将窗体从模式窗口中取出,它就可以正常工作。模式对话框是使用另一个库创建的吗?你能把这个对话包括在你的小提琴里吗?给你,我终于注册了小提琴并载入了图书馆s注释:“Karel的答案是100%正确的;将表单标记放在modal的容器标记
模态内容之外,包括表单
,如果表单在div内,选择器将返回NULL。如果div在表单内,它将按预期工作。”