2017-03-15 13 views
0

私は、インストールされた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にラップすることができるので、「送信」をクリックすると別のページに移動することはできません。私はユーザーがいつもポップアップモーダルにとどまりたいと思っています。

ありがとうございます。これはたぶん複雑なプロセスであることはわかっていますが、私はもっと良い解決方法を選ぶことができれば幸いです。

答えて

1

iframeを使用することはあなたの仕事にとって正しいアプローチではないと思います。 iframeではなくAJAXリクエストを使用する方がよいでしょう。

ページポストバックなしでフォームのみを再読み込みするには、フォームアイテムに「Is Ajax Mvc Form」をチェックする必要があります。それは完全なページを再読み込みせずにフォームの更新を得ることができます。用法WFFMについて

を先端(性能と透明性のために非常に良いではない)

あなたは、あなたが更新パネルにWFFMフォームをラップすることができますWebフォーム(ないMVC)を使用している場合:あなただけの場合ときにそれを使用する必要がありますフィールド/アクションはマーケターによって管理されます。現場のすべての書式に使用する必要はありません。あなたの場合ではないことを確認してください。

+0

私はWFFMがここに最良の選択肢ではないことに同意したが、判決は私までではなかった - 他の誰かが選択をした、それはために起こっている方法は次のとおりです。 \私は、IFRAMEの作業を取得するために管理しなかった - I fancyboxのプラグインから別のjsファイルを含める必要がありました。私はそれが計画されていて、私が持っているものと一緒に仕事をしなければならないので、はるかに大騒ぎしたくはありません。 私はこのプロジェクトでもっと多くのことを述べていれば、それらはまだ良い選択肢ですから、私は答えとしてあなたのコメントをマークしました。 –

関連する問題