私は、インストールされたWeb Forms for Marketingersモジュールとそのサイトにある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);
私がやったことはサイトコアで、一般的なページを作成した(私はゲートウェイのフォームのテストページで呼ばれます)と、その上にテストゲートウェイフォームを挿入されています。次に、ゲートウェイフォームを機能させたいページに、そのゲートウェイフォームテストページにテキスト(「ここをクリック」)をリンクしました。
問題は、WFFMフォームの送信ボタンを押すと、ページはfancyboxウィンドウを再ロードして表示するのではなく、フォームが置かれているURL(domainname/OtherPages/GatewayFormTestPage.aspx)に私を送ります成功メッセージ、またはすべてのフィールドが入力されていない場合のエラーメッセージ
ファンシーボックスモーダルの場合、タイプを「iframe」に設定しようとしましたが、空のポップアップが表示されました(fancybox-コンテンツブロック、いずれか - 私はChromeの開発ツールの要素を調べました)。
私はWFFMフォームをiframeにラップすることができるので、「送信」をクリックすると別のページに移動することはできません。私はユーザーがいつもポップアップモーダルにとどまりたいと思っています。
ありがとうございます。これはたぶん複雑なプロセスであることはわかっていますが、私はもっと良い解決方法を選ぶことができれば幸いです。
私はWFFMがここに最良の選択肢ではないことに同意したが、判決は私までではなかった - 他の誰かが選択をした、それはために起こっている方法は次のとおりです。 \私は、IFRAMEの作業を取得するために管理しなかった - I fancyboxのプラグインから別のjsファイルを含める必要がありました。私はそれが計画されていて、私が持っているものと一緒に仕事をしなければならないので、はるかに大騒ぎしたくはありません。 私はこのプロジェクトでもっと多くのことを述べていれば、それらはまだ良い選択肢ですから、私は答えとしてあなたのコメントをマークしました。 –