2

助けを求める必要があります。私は何時間も解決策を探していました...

ファンシーボックス2.1.1 ajaxフレームを呼び出すメインファイルがあります。

ファンシーボックスフレームにフォームがあり、フォームが成功したときにファンシーボックスを閉じたいので、使用jQuery.fancybox.close();して閉じ始めますが、オーバーレイは閉じません(クリックする必要があります)。そのため、afterClose () や beforeClose() などの js 呼び出しにコールバックを追加しようとしています (テスト用の警告メッセージ付き)。アラートは、オーバーレイをクリックして閉じたときにのみ表示されます。私も追加しようとしましjQuery('.fancybox-overlay').hide();たが、オーバーレイを非表示にしましたが、フォームアクションを更新するにはクリックする必要があります。

この2つの投稿を読んで解決策を試してみましたが、うまくいきません:ここ

このダブルクリック以外はすべて機能するので、あなただけが私の希望です! ありがとう !

次の私のコード:

メインページコード、ポップアップ 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

<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