wordpress 联系表格7选择下拉提交下载PDF

stszievb  于 2023-06-29  发布在  WordPress
关注(0)|答案(2)|浏览(137)

我有下面的代码在我的主题文件,但它似乎不工作的形式提交,我似乎不能工作的原因。有人能看到这个问题吗?:

add_action('wp_footer', 'redirect_page');

function redirect_page()
{
?>
<script type="text/javascript">
document.addEventListener('wpcf7mailsent', function(event) {
    console.log(event.detail);
    if ('95' == event.detail.contactFormId) {
        console.log(event.detail.inputs['menu314']);
        var selectedValue = event.detail.inputs['menu314'];
        
        if (selectedValue == 'Download Guide for DFG teams') {
            window.location.href = 'url.pdf';
        } else if (selectedValue == 'Download Guide for Non-specialists') {
            window.location.href = 'url.pdf';
        } else if (selectedValue == 'Download Guide for Managers') {
            window.location.href = 'https://url.pdf';
        }
    }
}, false);
</script>
<?php
}

CF7形式:

[contact-form-7 id="95" title="Subscribe download"]

<label class="uabb-cf7-col-1">[text* your-name placeholder "Name"]</label>
<label class="uabb-cf7-col-1">[tel tel-985 placeholder "Telephone"]</label>
<label class="uabb-cf7-col-1"> [email* your-email placeholder "Email"] </label>
[select* menu-312 id:menu314 "Select Guide" "Download Guide for DFG teams" "Download Guide for Non-specialists" "Download Guide for Managers"]
<label class="uabb-cf7-col-1">[submit "Download Guide"]</label>

控制台未显示错误,发送表单,但未重定向PDF

h5qlskok

h5qlskok1#

event.detail输入中获取input的值是一个对象,其数据在一个包含namevalue的数组中。数组键与字段的名称或id无关,只是一个数组。
另外,contactFormId是一个整数,不管它值多少。
所以如果你做了。

document.addEventListener(
    'wpcf7mailsent',
    function(event) {
        if ( 95 === event.detail.contactFormId ) {
            // 4th input field is key '3'.
            let selectedValue = event.detail.inputs[3]['value'];
            if ('Download Guide for DFG teams' === selectedValue) {
                window.location.href = 'url.pdf';
            } else if ('Download Guide for Non-specialists' === selectedValue) {
                window.location.href = 'url.pdf';
            } else if ('Download Guide for Managers' === selectedValue) {
                window.location.href = 'https://url.pdf';
            }
        }
    },
    false
);

其中inputs[3]是第四个字段(这是你的选择),那么你应该得到你想要的。如果您console.log(event.detail.inputs);并展开数组以查看数据,则应该看到键(如果它不是[3]

vpfxa7rd

vpfxa7rd2#

我认为你应该使用CF7 DOM事件enter link description here
例如:

var wpcf7Elm = document.querySelector( '.wpcf7' );

wpcf7Elm.addEventListener( 'wpcf7submit', function( event ) {
  alert( "Fire!" );
}, false );

相关问题