Fancybox提交表单不关闭

时间:2012-10-05 12:58:58

标签: jquery fancybox

我需要寻求帮助。我已经找了几个小时的解决方案......

我的主文件是调用和fancybox 2.1.1 ajax框架。

我的fancybox框架上有一个表单,当表单成功时,我想关闭fancybox,所以我使用jQuery.fancybox.close();它开始关闭,但叠加层没有关闭(我需要点击它)。所以我尝试在js调用上添加回调,比如afterClose()和beforeClose()(带有用于测试的警报消息)。警报仅在我单击以关闭叠加层时显示。我还尝试添加jQuery('.fancybox-overlay').hide();,它会隐藏叠加层,但我仍然需要点击来刷新我的表单操作。

我读了这两篇文章并尝试解决方案,但不起作用:Here

你是我唯一的希望,因为除了双击之外的所有工作!谢谢 !

接下来我的代码:

主页面代码,Popup JS调用工作正常:

jQuery(".popup-style").fancybox ({
            'hideOnContentClick' : true,
            'width' : 710,
            'height' : 'auto',              
            'padding' : 0,
            'beforeClose': function(){                  
                if (verif == "ok") {                        
                    var NAME = document.getElementById("product" + pproductid)
                    NAME.className='bouton unstyle w310';
                    jQuery("#folderid").removeAttr("disabled");
                    jQuery("#foldername").removeAttr("disabled");
                    document.getElementById("product" + pproductid).innerHTML = '<span>Unstyle it!</span>'; 
                    document.getElementById("product" + pproductid).href ='javascript:removeproduct1(pproductid)';        
                    var myTextField = document.getElementById("compteur"+ pproductid);    
                    var precision=parseInt(myTextField.innerHTML);
                    precision =   precision+1;   
                    document.getElementById("compteur"+ pproductid).innerHTML =  precision;
                }                   
            }                       
        });

Html调用fancybox

<a id="product<?php echo $productid ?>" class="bouton popup-style w310 fancybox.ajax" href="<?php echo $this->getUrl('arithmetic/integer/popupstyle/productid/'.$productid)?>"><span>Style it!</span></a>   

弹出代码:

HTML:

     <form id="popupform" name="popupform" method="post" >         
     <input type="submit" class="small-btn rounded" value="Style It!"/></a>

JS:

var verif = "ko";
    var pproductid; 



            jQuery("#popupform").submit(function(){
                verif = "ok";
                pproductid = jQuery("#productid").val();    
                var pfolderid = jQuery("#folderid").val();    
                var pfoldername = jQuery("#foldername").val();     
                var psize = jQuery("#size").val();    
                var pcolor = jQuery("#color").val();     
                var pcategory = 13;//jQuery("#$category").val();      
                var psubcategory = 10;//jQuery("#$subcategory").val();
                //alert("test");
            if (jQuery(".valid-name").val() != "" || jQuery(".valid-id").val() != "select") {

                jQuery.post('http://localhost/magento-sample/index.php/arithmetic/integer/addstyle1',{
                    productid:pproductid,category:pcategory,subcategory:psubcategory,folderid:pfolderid,foldername:pfoldername,size:psize,color:pcolor
                }); 


                    jQuery.fancybox.close();                            
                    //jQuery('.fancybox-ajax').remove();
                    //jQuery('.fancybox-overlay').hide();
                    //jQuery('.fancybox-overlay').style.display=="none"();                      
                    return false;
                    jQuery.fancybox.close();    

            }                           
        }); 

0 个答案:

没有答案