2011-05-10 17 views
0

我有一個帶有幾個字段的表單,每個表單都有一個jQuery自動保存功能,每隔3分鐘保存一次表單,還有一個用戶按鈕可以點擊保存表格。我想要的是一個加載在fancybox中的預覽功能。目前,當我點擊我的預覽按鈕時,fancybox使用iframe加載並從php/mysql進程中提取數據。 fancybox加載預覽,但如果表單自上次保存後發生更改,並且自最近一次更改以來未保存,fancybox會在最近一次更改之前顯示數據。我如何使用jquery保存我的表單數據,然後將其加載到fancybox中以預覽更改

$(function() { 
    $('#preview-article').live('click', function() { 
     saveTheForm(); 
     $('#preview-article').fancybox({ 
      'width': '80%', 
      'height': '80%', 
      'autoScale': false, 
      'transitionIn': 'none', 
      'transitionOut': 'none', 
      'type': 'iframe' 
     }); 
    }); 
}); 

任何幫助非常感謝!

+0

可以粘貼saveTheForm()函數嗎? – Krule 2011-05-10 20:24:32

+0

單擊預覽點擊按鈕後不能自動保存,然後ajax以成功保存消息響應,然後使用預覽加載fancybox? ()# – 2011-05-10 20:26:38

+0

這些表格可以很好的保存...無論是通過點擊按鈕還是自動保存它。[function saveTheForm(){varface_data = $(「#edit-article」)。serialize(); $阿賈克斯({ 類型: 「GET」, 網址: 「/tools/autosave.php」, 緩存:假的, 數據:form_data, 成功:功能(數據){ $('#autosave- save-message')。replaceWith(link); } }); }' – Mark 2011-05-10 20:30:54

回答

0

我發現了一個名爲OnStart的fancybox附帶的API選項,我可以添加我的saveTheForm函數。在嘗試加載內容之前調用OnStart選項。到目前爲止,它工作。

$(document).ready(function() { 
    $('#preview-article').fancybox({ 
      'onStart': saveTheForm, 
      'width': '80%', 
      'height': '80%', 
      'autoScale': false, 
      'transitionIn': 'none', 
      'transitionOut': 'none', 
      'type': 'iframe' 
    }); 
}); 
0

查看這個jQuery插件,可以在輸入時將表單數據保存到cookie中。

也許你可以檢索你喜歡的fancybox的cookie數據。 Here

相關問題