我的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 );


但是令人惊讶的是它没有用。有任何想法吗?

最佳答案

上面的代码适用于所有页面,因此我用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;
  }

关于javascript - 联系表格7-重定向到另一页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60885762/

10-11 11:51