Question

I’m working on a client’s build, and I’d like to change as little as possible. I’m not too familiar with all this, my apologies – I’ll try to show where I’m at.

The client wants a form submission to prompt a PDF download. There are two different PDFs, two instances of the same form. Fill out form instance 1, get PDF A – Form instance 2, PDF B.

Here’s how those instances show up:

<div id="whitepaper" class="home_whitepaper_bg w-clearfix">
<?php $lpcnt=0; if(have_rows('whitepaper_list')): ?> <?php while(have_rows('whitepaper_list')): the_row();$lpcnt++; ?>
<!-- Making rows for content, looping through and counting loops = lpcnt -->

<!--
... Other content ...
-->

<?php
?>
<?php
$pdf=get_permalink().'?download='.get_sub_field('whitepaper_pdf'); ?> <a data-fancybox data-src="https://wordpress.stackexchange.com/questions/319474/#whitepaper_popup_<?php echo$lpcnt; ?>" data-redirect="<?php echo $pdf; ?>" href="javascript:;" class="whitepaper_download_link w-inline-block w-clearfix"> <!-- Here's the buttons for fancybox popups. They use the loop count to build a specific url - this is info I want later! --> And in the popup window: <div id="whitepaper_popup_<?php echo$lpcnt; ?>" class="whitepaper_popup">
<!-- using that loop count to get a specific div id! -->
<div class="popup_whitepaper">
<div class="whitepaper_form">
<!--
I could put a <?php echo do_shortcode...> here, no?
Their current solution is to grab a javascript code from an ACF field.
I have had a lot of trouble figuring out how to put the CF7 form in that field.
-->
<div class="w-clearfix"></div>
</div>
<button data-fancybox-close="" class="fancybox-close-small"></button>
<div class="w-clearfix"></div>
</div>
</div>

Right. So there’s that. Then, using CF7’s new DOM events, I should be able to setup a redirect or simliar?

in functions.php:

function mycustom_wp_footer() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7mailsent', function( event ) {
if ( 'FORM ID' == event.detail.contactFormId ) {
location = <!-- specific url derived from \$lpcnt? -->;
}
}, false );
</script>
<?php
}

I’m not sure if I’m on the right track or not – also, can’t figure out exactly how I can get the right URL into my wpcf7mailsent event listener.

0
3 years 2018-11-16T22:18:15-05:00 0 Answers 0 views 0