【问题标题】:problem with submitting form , from fancybox window从fancybox窗口提交表单的问题
【发布时间】:2010-02-27 17:32:30
【问题描述】:

我有这个功能

   jQuery("form#add_cv").submit ( function(){ 
    if (Spry.Widget.Form.validate(this) == true){

            jQuery("#show_rules").fancybox({
                'padding'       : 0,
                'autoScale'     : false,
                'autoDimensions': false,
                'transitionIn'  : 'none',
                'transitionOut' : 'none',
                'width'     : 600,
                'height'        : 450,
                'titlePosition'     : 'inside',
                'scrolling' : 'no'
            }).trigger('click'); 

            jQuery('div#sb_buttons button#cancel_submit').click(function() { 
                $.fancybox.close();
                return false;
            });


            jQuery('div#sb_buttons button#submit_form').click(function() { 
                jQuery("form#add_cv").submit("true");
                $.fancybox.close();
                return true;
            });

        return false;
    }
});

点击确定按钮

            jQuery('div#sb_buttons button#submit_form').click(function() { 
                jQuery("form#add_cv").submit("true");
                $.fancybox.close();
                return true;
            });

,来自花式框窗口。来自实际页面的表单正在提交,fancybox 窗口正在关闭,然后提交功能再次重复,我该如何解决这个问题......抱歉这种问题......但我不知道该怎么做,并且对不起我的英语,希望你能理解我:) 谢谢

【问题讨论】:

  • 你英语很好。比我们这里的一些更好。
  • @James Wiseman - 因搞笑而被投票。 (我目前正在阅读代码,但认为您应该知道)。

标签: jquery submit fancybox


【解决方案1】:

经过几个小时的搜索,我终于解决了这个问题,也非常感谢西安的帮助。

这是结果:

    jQuery("form#add_cv").submit ( function(){ 

    if( typeof( accept ) != 'undefined' ){
        if(accept){ return true }
    }


    if (Spry.Widget.Form.validate(this) == true){

            jQuery("#show_rules").fancybox({
                'padding'       : 0,
                'autoScale'     : false,
                'autoDimensions': false,
                'transitionIn'  : 'none',
                'transitionOut' : 'none',
                'width'     : 600,
                'height'        : 450,
                'titlePosition'     : 'inside',
                'scrolling' : 'no'
            }).trigger('click'); 


            jQuery('div#sb_buttons button#cancel_sb').click(function() { 
                $.fancybox.close();
                return false;
            });

            jQuery('div#sb_buttons button#sb_form').click(function() {
                accept=true;
                $.fancybox.close(); 
                return  true;
            });


         return false;   
    }


});

我添加了这行代码

    if( typeof( accept ) != 'undefined' ){
        if(accept){ return true }
    }

点击确定按钮后,我声明接受为真,表单可以提交后,感谢所有试图帮助我的人;)

【讨论】:

    【解决方案2】:

    在我看来,当您单击提交时,您是在告诉 jQuery 提交表单并关闭您的幻想框。然后假设您的提交按钮实际上是type=submit,它的固有行为接管并提交表单。

    您为什么不尝试从提交函数中删除行jQuery("form#add_cv").submit("true");

    【讨论】:

    • 我删除了它,没有反应,我浪费了很多时间尝试不同的方法,不知道,请帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 2011-02-14
    相关资源
    最近更新 更多