2

我需要寻求帮助。我一直在寻找解决方案几个小时...

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

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

我阅读了这两个帖子并尝试了解决方案,但不起作用:这里

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

接下来我的代码:

主页代码,弹出 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();    

            }                           
        }); 
4

0 回答 0