我正在使用Web窗體的營銷人員模塊安裝和網站fancybox插件(該網站)上Sitecore 7.2網站上設置網關窗體正在使用fancybox版本1.3.4,並且我無法更新此版本,或者它可能會破壞正在使用此插件的網站上的其他功能)。Sitecore 7 - 使用Web窗體爲營銷人員彈出窗體模式
這就是表單應該如何工作的原因:用戶點擊頁面上的鏈接,這會打開一個彈出窗口,其中必須填寫表單才能訪問下載。
到目前爲止,我已經得到了一些工作,以便在頁面上單擊鏈接時,fancybox模式將打開並顯示WFFM表單。
這裏是jQuery的,做這樣的:
jQuery.noConflict();
(function($) {
$(document).ready(function() {
// Open the gateway form into a fancybox modal
//check to see if there is a gateway form link on the page
if ($(".protected-item").length > 0) {
//if so, then we want to target the click event
$('.protected-item').click(function(event) {
event.preventDefault();
//Get the value of the href of the link since this url will contain the page with the gateway form
var url = $('.protected-item').attr('href');
//open the page with the gateway form in the fancybox modal
$.fancybox({
'autoDimensions': true,
'height': 400,
'width': 400,
'scrolling': 'no',
'href': url,
'autoScale': true,
});
});
}
});
})(jQuery);
我所做的Sitecore的是創建一個通用的網頁(我稱爲網關形式測試頁),並插入測試網關形式到它。然後,在我希望使用網關表單的頁面上,我已經將一些文本(「點擊此處」)鏈接到該網關表單測試頁面。
問題是,在點擊WFFM表單的提交按鈕後,頁面會將我發送到表單所在的網址(即domainname/OtherPages/GatewayFormTestPage.aspx),而不是隻重新加載fancybox窗口並顯示成功的消息或錯誤消息,如果不是所有的字段都被填入。
我試着設置fancybox模式的'iframe'的類型,但所做的只是渲染一個空的彈出框(沒有內容顯示在fancybox-內容塊,或者 - 我檢查了Chrome開發工具中的元素)。
有沒有一種方法可以將WFFM格式封裝在iframe中,這樣我可以避免在單擊「submit?」時轉到另一個頁面。我希望用戶始終保持彈出窗口模式。
謝謝,我知道這可能是一個複雜的過程,我希望我可以選擇一個更好的解決方案,但這是我必須與之合作。
我同意WFFM在這裏不是最好的選擇,但這個決定不取決於我 - 其他人做出了選擇,這將是如何:\ 我確實設法讓iframe工作 - 我需要從fancybox的插件中包含另一個js文件。自從計劃到位後,我不想大驚小怪,而且我必須與我的工作一起工作。 雖然我將你的評論標記爲答案,因爲這些仍然是很好的選擇 - 如果我在這個項目中有更多的發言權。 –