助けを求める必要があります。私は何時間も解決策を探していました...
ファンシーボックス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();
}
});