我的網頁上有一些鏈接,點擊後打開一個fancybox。在fancybox裏面有一些動作按鈕(如「關閉項目」,「刪除項目」)。點擊這些按鈕後,我希望它像往常一樣提交表單,然後關閉fancybox。我怎樣才能在不干擾POST的情況下做到這一點?關閉FancyBox之後?
注意:我沒有使用Ajax。
我的網頁上有一些鏈接,點擊後打開一個fancybox。在fancybox裏面有一些動作按鈕(如「關閉項目」,「刪除項目」)。點擊這些按鈕後,我希望它像往常一樣提交表單,然後關閉fancybox。我怎樣才能在不干擾POST的情況下做到這一點?關閉FancyBox之後?
注意:我沒有使用Ajax。
如果你的後端上完成時返回的東西,比如我的回聲「已發送」你可以這樣做:
$.post("php/send_mail.php", function(result){
if(result == 'sent'){
//$('#success').slideDown('slow'); -My code
//$('#submit').hide(); -My code
$.fancybox.close();
}
});
只有在你的情況,你會想這樣做$ .fancybox.close()
如果你通過$ .ajax而不是.post,你可以使用成功:代替。
對不起,如果這沒有幫助。
馬克,
當你說執行後,我假定你的意思是你想要的fancybox只要發送請求(或接近的時間儘可能)關閉?我假設你正在序列化fancyBox的部分作爲POST的一部分,並且不想太早關閉它。
在這種情況下,我會充分利用jQuery.ajax beforeSend回調關閉對話框之前送出的請求:
$.ajax({
beforeSend: function() {
//close fancybox here
}
});
XMLHttpRequest對象是在這一點上創建的,所以不應該有對請求有任何影響。
--Andrew
如何隱藏窗體,窗體部件移動到所述主體元件之下,然後調用form.submit()。
我不確定要理解你的問題,但我注意到當fancybox以很多鏈接打開時,在fancybox的title屬性中動態創建的按鈕,這些元素不在你的頁面的DOM中。 而且你不能與你的頁面元素進行交互。
我不知道你如何創建你的行動按鈕(如「封閉項」,「刪除項目」),也許你應該解釋,來幫助我們來幫助你:)
我有同樣的問題,你有。我有一個很好的解決方案如下。 如果我像往常一樣使用php post codeigniter
'<?php
if ($this->input->post())
{
*after finishing the action use the below code
echo "<script> parent.jQuery.fancybox.close(); </script>";
}'
?>
//if you want to refresh the parent window use parent.location.reload(); before close the //fancy box
不......我不需要序列化任何東西。它不使用jQuery.ajax。這是一種常規的舊形式。我想當你點擊按鈕時,它需要去執行'