0

WordPressでfancyboxを使用して、別のテンプレートファイルからフォームを読み込みます。必要なページのURLは次のようになりますhttp://domain.com/blog/#panier

私のテンプレートファイルコードは

<?php require('../../../wp-blog-header.php');?>
<style>
#header, #footer{
    display:none;
}
</style>
<?php get_header(); ?>
<script>
    jQuery(document).ready(function ($) {
        jQuery('#header, #footer').css("display","none");
        });
</script>
<?php echo do_shortcode('[contact-form-7 id="330" title="Enquire Form"]'); ?>
<?php get_footer(); ?>

お問い合わせフォーム7を使用しており、テンプレートファイルにショートコードを読み込んでいます。

私が使用している別のプラグインは、ページの現在のURLを取得して非表示フィールドとして設定しますが、フォームがテンプレートファイルから読み込まれ、ページに直接配置されていないため、非表示フィールドの値が間違っています

<div class="hidden" style="display:none;">
<input type="hidden" name="hidden-742" value="http://domain.com/blog/?p=29" class="wpcf7-hidden">
</div>

リンクをクリックしてフォームを開いたときに、ページの現在のURLを取得するにはどうすればよいですか。次に、そのURLをフォームの非表示フィールドに渡し、値として設定しますか?

ありがとう

4

1 に答える 1

0

遅れて申し訳ありません。

完了したfancyboxロードのコールバックにfancyboxのonComplete関数を介してアクセスできます。この時点で、を取得window.location.hrefして入力フィールドに配置できます。

これが動作するjsFiddleです

これがスタンドアロンのjQueryです->

$('a').fancybox({
  'onComplete': function(){
     $('#popup input[name="name"]').val(window.location.href);
  }
});
于 2012-07-06T15:07:38.533 に答える