fancybox/jquery关闭时重定向

fancybox/jquery关闭时重定向,jquery,fancybox,Jquery,Fancybox,我这里有一个fancybox内联表单 安梅尔登 第1点-它“中断”/i尝试发送表单时出现以下错误 未捕获的TypeError:对象[Object Object]没有“on”方法 -哪一条是这条线的 $(“#发送”)。在(“单击”,函数(){ 忽略该错误,并将其更改为 $(“#消息表单”).submit(函数(){ 我有一个新问题,当fancybox关闭时,它会重定向其打开的页面,我如何才能停止此操作 $("#messform").submit(function() { 正在调用表单操作

我这里有一个fancybox内联表单

  • 安梅尔登
第1点-它“中断”/i尝试发送表单时出现以下错误

未捕获的TypeError:对象[Object Object]没有“on”方法 -哪一条是这条线的
$(“#发送”)。在(“单击”,函数(){

忽略该错误,并将其更改为
$(“#消息表单”).submit(函数(){

我有一个新问题,当fancybox关闭时,它会重定向其打开的页面,我如何才能停止此操作

$("#messform").submit(function() { 

正在调用表单操作,所以请在内部使用
返回false;
。不知道这是否是问题,但请尝试一下:)

只是为了清楚,您希望只更改fancybox的内容吗

如果是这样,我建议如下:

$("#messform").submit(function() {
                var emailval  = $("#contactEmail").val();
                var msgval    = $("#c_message").val();
                var msglen    = msgval.length;
                var mailvalid = validateEmail(emailval);


                var mailvalid = true;
                var msgval    = $("#c_message").val();
                var msglen    = msgval.length;


                if(mailvalid == true && msglen >= 4) {
                    // if both validate we attempt to send the e-mail
                    // first we hide the submit btn so the user doesnt click twice
                    $("#send").replaceWith("<em>sending...</em>");

                    $.ajax({
                        type: 'POST',
                        url: 'sendmesse.php',
                        data: $("#messform").serialize(),
                        success: function(data) {
                            if(data == "true") {
                                $("#messform").fadeOut("fast", function(){
                                    $(this).before("<strong>Success! Your feedback has been sent, thanks :)</strong>");
                                    // setTimeout($.fancybox.close(), 1000);
                                    // $('.fancybox').close();
                                    // $.fancybox.close();
                                    setTimeout(function(){ $.fancybox.close();}, 1000);

                                });
                            }
                        }
                    });
                }
$(“#消息表单”).submit(函数(){
var emailval=$(“#contactEmail”).val();
var msgval=$(“#c#U消息”).val();
var msglen=msgval.length;
var mailvalid=validateEmail(emailval);
var-mailvalid=true;
var msgval=$(“#c#U消息”).val();
var msglen=msgval.length;
如果(mailvalid==true&&msglen>=4){
//如果两者都有效,我们将尝试发送电子邮件
//首先,我们隐藏提交btn,这样用户就不会点击两次
$(“#发送”)。替换为(“发送…”);
$.ajax({
键入:“POST”,
url:'sendmesse.php',
数据:$(“#messform”).serialize(),
成功:功能(数据){
如果(数据==“真”){
$(“#messform”).fadeOut(“fast”,function(){
$(此)。在此之前(“成功!您的反馈已发送,谢谢:)”;
//setTimeout($.fancybox.close(),1000);
//$('.fancybox').close();
//$.fancybox.close();
setTimeout(函数(){$.fancybox.close();},1000);
});
}
}
});
}
//这一部分很重要,因为您使用的是ajax post,所以您可能希望忽略正常表单提交。 返回false; }); }))