枢纽上的window.location问题

时间:2019-03-19 22:39:23

标签: javascript wordpress hubspot

window.location将重定向到google之类的外部链接,但不会重定向到其来源与之具有相同域的url(不过,它将链接至子域)。这来自枢纽表单,该表单经过定制,可根据用户的查询类型将其重定向到特定的“谢谢”页面。这一切都在WordPress中。定义选择变量没有问题。我是JavaScript新手,感谢您的帮助。

onFormSubmit: function($form) {
  var choice = $('select[name="form_field_dropdown_select"]').val();
  
  if (choice == 'Support') {
    window.location = 'https://www.mycompany.com/support-thank-you/';
  } else {
    window.location = 'https://www.washingtonpost.com/';
  }
}

我正在通过控制台运行此代码,因为我知道choice变量设置正确。我收到的错误是一个未捕获的SyntaxError:意外的令牌(在onFormSubmit行上:function($ form)

onFormSubmit: function($form) {
  var choice = "Support";
  if (choice == 'Support') {
    window.location = 'https://newcloudnetworks.com/support-thank-you';
  } else {
    window.location = 'https://www.washingtonpost.com/';
  }
}

此外,我可以看到重定向最初是转到支持页面,然后立即重定向到默认/主页。

[21 / Mar / 2019:11:13:44 -0600]“ GET / support-thank-you HTTP / 1.1” 200 6015

[21 / Mar / 2019:11:13:46 -0600]“ GET / HTTP / 1.1” 200 9683

问题已解决。这是我不得不向Hubspot提出的问题,他们能够解决。它与JS代码中的错误无关。谢谢。

1 个答案:

答案 0 :(得分:0)

因此,您需要提供更多信息,但我假设您是:

  • 主机名(域):www.mycompany.com

因此,您可以为使用表单的域添加另一个检查。

const myDomain = 'www.mycompany.com';
onFormSubmit: function($form) {
    var choice = $('select[name="form_field_dropdown_select"]').val();

    if (choice == 'Support') {
        let domain = window.location.hostname;
        if (myDomain == domain) {
            // change path if the form is used in your domain
            window.location.pathname = 'support-thank-you';
        } else {
            // redirect to you domain
            window.location = 'https://www.mycompany.com/support-thank-you/';
        }
    } else {
        window.location = 'https://www.washingtonpost.com/';
    }
}