You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Contact Form 7提交下拉选择后无法跳转下载PDF问题排查

Contact Form 7提交后无法根据下拉选项跳转PDF的修复方案

核心问题定位

你当前代码的关键错误是:JS中使用下拉框的ID(menu314)获取值,但Contact Form 7的event.detail.inputs是通过表单字段的name属性索引的,而你的下拉框name是menu-312,导致无法正确获取选中值,自然不会触发跳转。

修复步骤及代码

1. 修正值的获取逻辑

将JS中获取选中值的代码从event.detail.inputs['menu314']改为匹配字段name的方式,推荐用数组遍历(适配不同CF7版本的inputs结构,更稳妥)。

2. 修复后的完整主题文件代码

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) {
        // 遍历数组获取选中值,兼容更多CF7版本
        let selectedValue = '';
        event.detail.inputs.forEach(item => {
            if (item.name === 'menu-312') {
                selectedValue = item.value;
            }
        });

        console.log('选中的指南:', selectedValue);
        if (selectedValue == 'Download Guide for DFG teams') {
            window.location.assign('https://你的域名/dfg-guide.pdf'); // 替换为实际完整PDF路径
        } else if (selectedValue == 'Download Guide for Non-specialists') {
            window.location.assign('https://你的域名/non-specialist-guide.pdf');
        } else if (selectedValue == 'Download Guide for Managers') {
            window.location.assign('https://你的域名/manager-guide.pdf');
        }
    }
}, false);
</script>
<?php
}

3. 额外排查点

  • 检查控制台输出:确认console.log('选中的指南:', selectedValue)是否输出正确选项值,若为空则说明值获取逻辑仍有问题
  • 验证PDF路径:确保跳转URL是完整的HTTPS/HTTP路径,避免相对路径导致404
  • 确认事件触发:在事件回调开头添加console.log('CF7提交事件触发'),检查控制台是否有输出,排除事件未绑定的问题

内容的提问来源于stack exchange,提问作者hue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 05:07:43