未定义值时,如何填充UTM参数的默认值?

时间:2019-05-17 17:57:18

标签: javascript forms utm pardot

一段时间以来,我一直在收集UTM参数并使用这些值成功填充表单字段。我想为utm_source的“网站”提供默认值,而不是默认为utm_source的空白或空值

这是我的代码:

// Parse the URL
function getParameterByName(name) {
  name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
  var results = regex.exec(location.search);
  return results === null
    ? ""
    : decodeURIComponent(results[1].replace(/\+/g, " "));
}
// Give the URL parameters variable names
var source = getParameterByName("utm_source");
var medium = getParameterByName("utm_medium");
var campaign = getParameterByName("utm_campaign");

// Put the variable names into the hidden fields in the form.
// selector should be "p.YOURFIELDNAME input"
document.querySelector("p.utm_source input").value = source;
document.querySelector("p.utm_medium input").value = medium;
document.querySelector("p.utm_campaign input").value = campaign;

没有错误消息,脚本可以按预期工作。我只是想在参数之一为空的情况下添加默认值。我该怎么办?

1 个答案:

答案 0 :(得分:1)

只要没有发现任何内容,假设您的getParameterByName函数返回undefined或类似的伪造值,您应该可以通过条件操作做到这一点:

var source = getParameterByName('utm_source') || 'my default value';