我的wordpress网站上有两种形式。仅提交一种表单后,我需要将用户重定向到另一页。因此,请尝试使用此javascript如果条件与联系表单7 ID相符。
document.addEventListener( 'wpcf7mailsent', function( event ) {
setTimeout(function(){
location = 'https://example.com/';
}, 2500);
}, false );
上面的代码适用于所有页面,因此我用if条件修改了它。
document.addEventListener( 'wpcf7mailsent', function( event ) {
if('2168' == event.detail.contactFormId){
setTimeout(function(){
location = 'https://example.com/';
}, 2500) } ;
}, false );
但是令人惊讶的是它没有用。有什么想法吗?
答案 0 :(得分:1)
上面的代码适用于所有页面,因此我用if条件修改了它。
这效率低下,您应该使用以下方式定位要显示表单的页面:
add_filter('do_shortcode_tag', 'redirect_form_script', 10,3);
function redirect_form_script($output, $tag, $attrs){
//check this is your form, assuming form id = 1, replace it with your id.
if($tag != "contact-form-7" || $attrs['id']!= 2168) return $output;
$script = '<script>'.PHP_EOL;
$script .= 'document.addEventListener( "wpcf7mailsent", function( event ){'.PHP_EOL;
//add your redirect page url.
$script .= ' location = "http://example.com/submitted/?cf7="'.PHP_EOL;
$script .= ' }'.PHP_EOL;
$script .= '</script>'.PHP_EOL;
return $output.PHP_EOL.$script;
}
答案 1 :(得分:0)
可怜。我使用的是旧版本的联系表单7。插件升级后,它可以工作。