fancybox / jquery重定向关闭

时间:2012-11-01 12:23:56

标签: jquery fancybox

我在这里有一个fancybox内联表格

http://keith464.fahrradhamburg.de/Messen/

  • 登陆

第1点 - 当我尝试发送表单时,它“中断”/我收到以下错误

未捕获TypeError:对象[object Object]没有方法'on' - 这是为这条线 $("#send").on("click", function(){

忽略该错误,并将其更改为 $("#messform").submit(function() {

我遇到了一个新问题,当fancybox关闭时,它会重定向页面,我该如何阻止它?

2 个答案:

答案 0 :(得分:0)

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

正在调用表单操作,因此请在里面使用return false;。不知道这是不是问题,但试一试:)

答案 1 :(得分:0)

只是要明确你希望只改变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);

                                });
                            }
                        }
                    });
                }

//这一部分非常重要,因为您使用的是ajax帖子,因此您可能希望忽略正常的表单提交。                  返回false;              });         });