Как заполнить значение по умолчанию для параметра UTM, если значение не определено? - PullRequest
1 голос
/ 17 мая 2019

Я собираю 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 Ответ

1 голос
/ 17 мая 2019

Вы должны быть в состоянии сделать это только через условное допущение, что ваша функция getParameterByName возвращает undefined или подобное ложное значение, когда ничего не найдено:

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